Arama Yap Mesaj Senden
Rückruf anfordern
+90
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro
X
X

Wählen Sie Ihre Währung

Türkische Lira $ US Dollar Euro

Kontaktieren Sie uns

Standort Halkali Merkez Viertel Fatih Str. Ozgur Apt. No. 46, Kucukcekmece, Istanbul, 34303, TR
Domain-Massenautomatisierung

Fügen Sie Windows Server IIS per PowerShell Hunderte Domains, Websites und Bindings hinzu

Das Hinzufügen einer Domain in IIS erfordert Website, physischen Pfad, Anwendungspool und Hostheader-Binding. Das PowerShell-Skript erstellt für jede Domain einen isolierten Pool, ein Verzeichnis, ein www-Binding und ein CSV-Ergebnis.

Windows Server 2025 IIS 10 PowerShell New-Website Bindings Application Pool
root@eka-server
Import-Module WebAdministration
New-WebAppPool -Name "eka-ornek.com"
New-Website -Name "eka-ornek.com" -Port 80 -IPAddress "*" -HostHeader "ornek.com" -PhysicalPath "C:\inetpub\siteler\ornek.com" -ApplicationPool "eka-ornek.com"
New-WebBinding -Name "eka-ornek.com" -Protocol http -Port 80 -HostHeader "www.ornek.com"
100+Websites und Host-Bindings
PoolIsolation pro Domain
NTFSPrüfunglierte Dateiberechtigungen
PSPowerShell-Automatisierung
01
Architekturentscheidung

Wählen Sie vor dem Hinzufügen Hunderter Domains das richtige Hostingmodell

Massenautomatisierung darf keine falsche Architektur beschleunigen. Entscheiden Sie zuerst über Kundenisolation, Ressourcenlimits, Anwendungsroots sowie Mail- und DNS-Eigentum.

01

Separate IIS-Website pro Domain

Das klarste Modell, wenn Domains getrennte Pools, Roots, Logs und Runtime-Einstellungen benötigen.

02

Mehrere Bindings auf einer Website

Für Alias-Domains derselben Anwendung verbrauchen zusätzliche Hostheader-Bindings auf einer Website weniger Ressourcen.

03

Gemeinsamer oder separater App Pool

Trafficarme Websites derselben Vertrauensgrenze können einen Pool teilen; für verschiedene Kunden werden getrennte Identitäten und Pools empfohlen.

04

SNI-basiertes HTTPS

Definieren Sie für viele HTTPS-Websites auf einer IP Hostname- und SNI-Bindings vor der Zertifikatautomatisierung.

02
Voraussetzungen

Voraussetzungen vor dem Massenvorgang

Windows Server 2019, 2022 oder 2025 mit installierter IIS-Rolle01
Eine erhöhte PowerShell-Sitzung02
WebAdministration- oder IISAdministration-Modul03
Eine Domain pro Zeile in C:\Eka\domainler.txt04
Ausreichender NTFS-Speicher und Sicherung für C:\inetpub\siteler05
Firewall-, DNS- und Zertifikatsplan für Ports 80/44306
03
Implementierungsreihenfolge

Prüfunglierter und wiederherstellbarer Ablauf zum Massenhinzufügen

01

Prüfen Sie IIS-Rolle und Modul

Prüfen Sie, ob Web-Server-Rolle, Verwaltungstools und PowerShell-Cmdlets installiert sind.

Get-WindowsFeature Web-Server,Web-Mgmt-Tools
Get-Module -ListAvailable WebAdministration,IISAdministration
02

Erfassen Sie vorhandene Websites und Bindings

Erkennen Sie doppelte Websitenamen, Hostheader oder Portkonflikte vor dem Vorgang.

Import-Module WebAdministration
Get-Website
Get-WebBinding
03

Führen Sie einen Vortest mit zwei Domains durch

Prüfen Sie NTFS-Berechtigungen, Start des Anwendungspools und Binding-Zuordnung.

Get-Content C:\Eka\domainler.txt -TotalCount 2 | Set-Content C:\Eka\domainler-test.txt
04

Bevorzugen Sie Signierung statt schwacher Execution Policy

Signieren Sie das Skript in Produktion oder verwenden Sie den Process-Scope, statt ExecutionPolicy dauerhaft auf Bypass zu setzen.

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
05

Führen Sie das Massenskript als Administrator aus

Ergebnisse der Website-, Pool-, Verzeichnis- und Binding-Erstellung werden in CSV gespeichert.

PowerShell.exe -NoProfile -ExecutionPolicy Bypass -File C:\Eka\iis-toplu-domain.ps1
06

Prüfen Sie IIS-Konfiguration und HTTP-Antwort

Testen Sie mit Get-Website, Get-WebBinding und einer lokalen Hostheader-Anfrage.

Get-Website | Select Name,State,PhysicalPath
Invoke-WebRequest -Uri http://127.0.0.1 -Headers @{Host="ornek.com"} -UseBasicParsing
04
SSH, CLI und API

Kopierfertige Befehle und vollständiges Automatisierungsskript

01

Vollständiges IIS-PowerShell-Skript

Erstellt für jede Domain Website, App Pool, Verzeichnis, www-Binding, NTFS-Berechtigung und CSV-Eintrag.

$FehlerEylemi = "Stop"
$DomainDosyasi = "C:\Eka\domainler.txt"
$WebKoku = "C:\inetpub\siteler"
$SonucDosyasi = "C:\Eka\iis-domain-sonuclari.csv"
$FehlerDosyasi = "C:\Eka\iis-domain-Fehlerlari.log"

$ErrorActionPreference = $FehlerEylemi
Import-Module WebAdministration

New-Item -ItemType Directory -Path (Split-Path $SonucDosyasi) -Force | Out-Null
New-Item -ItemType Directory -Path $WebKoku -Force | Out-Null
"domain,durum,site,uygulama_havuzu,fiziksel_yol" | Set-Content -Path $SonucDosyasi -Encoding UTF8
"" | Set-Content -Path $FehlerDosyasi -Encoding UTF8

Get-Content $DomainDosyasi | ForEach-Object {
    $Domain = $_.Trim().ToLowerInvariant()
    $Domain = $Domain -replace '^https?://','' -replace '^www\.','' -replace '/.*$',''

    if ([string]::IsNullOrWhiteSpace($Domain)) {
        return
    }

    if ($Domain -notmatch '^[a-z0-9][a-z0-9.-]*\.[a-z]{2,63}$') {
        "$Domain,gecersiz,,," | Add-Content -Path $SonucDosyasi -Encoding UTF8
        return
    }

    $SiteAdi = "eka-$Domain"
    $HavuzAdi = "eka-$Domain"
    $FizikselYol = Join-Path $WebKoku $Domain

    try {
        New-Item -ItemType Directory -Path $FizikselYol -Force | Out-Null
        "<!doctype html><html lang=`"tr`"><meta charset=`"utf-8`"><title>$Domain</title><h1>$Domain hazır</h1></html>" | Set-Content -Path (Join-Path $FizikselYol "index.html") -Encoding UTF8

        if (-not (Test-Path "IIS:\AppPools\$HavuzAdi")) {
            New-WebAppPool -Name $HavuzAdi | Out-Null
        }

        if (-not (Test-Path "IIS:\Sites\$SiteAdi")) {
            New-Website -Name $SiteAdi -Port 80 -IPAddress "*" -HostHeader $Domain -PhysicalPath $FizikselYol -ApplicationPool $HavuzAdi | Out-Null
            New-WebBinding -Name $SiteAdi -Protocol http -Port 80 -IPAddress "*" -HostHeader "www.$Domain" | Out-Null
        }

        & icacls $FizikselYol /grant "IIS_IUSRS:(OI)(CI)(RX)" /T /C | Out-Null
        "$Domain,basarili,$SiteAdi,$HavuzAdi,$FizikselYol" | Add-Content -Path $SonucDosyasi -Encoding UTF8
    }
    catch {
        "$Domain | $($_.Exception.Message)" | Add-Content -Path $FehlerDosyasi -Encoding UTF8
        "$Domain,Fehlerli,$SiteAdi,$HavuzAdi,$FizikselYol" | Add-Content -Path $SonucDosyasi -Encoding UTF8
    }
}

Get-Website | Select-Object Name,State,PhysicalPath,Bindings
Write-Host "Tamamlandı: $SonucDosyasi"
Write-Host "Fehlerlar: $FehlerDosyasi"
02

Alias-Binding zu einer Website hinzufügen

Fügen Sie für Domains derselben Anwendung ein Binding statt einer neuen IIS-Website hinzu.

New-WebBinding -Name "AnaSite" -Protocol http -Port 80 -IPAddress "*" -HostHeader "alias-domain.com"
New-WebBinding -Name "AnaSite" -Protocol http -Port 80 -IPAddress "*" -HostHeader "www.alias-domain.com"
03

Alternative mit IISAdministration-Modul

Auf Systemen mit dem neueren Modul kann New-IISSite eine Website mit bindingInformation erstellen.

Import-Module IISAdministration
New-IISSite -Name "eka-ornek.com" -PhysicalPath "C:\inetpub\siteler\ornek.com" -BindingInformation "*:80:ornek.com"
04

Massenprüfung auf Binding-Konflikte

Listen Sie doppelte Kombinationen aus Protokoll, IP, Port und Host auf.

Get-WebBinding | ForEach-Object { [PSCustomObject]@{ Site=$_.ItemXPath; Protocol=$_.protocol; Binding=$_.bindingInformation } } | Group-Object Protocol,Binding | Where-Object Count -gt 1
05
Betriebssystem und Stack

Unterschiede je nach Distribution und Webserver

Windows Server 2019

WebAdministration ist verbreitet und stabil. Prüfen Sie TLS-Versionen, .NET Hosting Bundle und URL Rewrite je nach Anwendung.

  • Get-WindowsFeature Web-Server
  • Get-Module WebAdministration -ListAvailable
  • iisreset /status

Windows Server 2022

Geeignete Produktionswahl für SNI, modernes TLS und aktuelles .NET-Hosting. Beobachten Sie App-Pools nach Windows Update.

  • Get-ComputerInfo | Select WindowsProductName,WindowsVersion
  • Get-WebAppPoolState -Name *
  • Get-TlsCipherSuite | Select-Object -First 10

Windows Server 2025

Verwenden Sie WebAdministration oder IISAdministration entsprechend der installierten Rollenversion und testen Sie die Automatisierung im Staging.

  • Get-WindowsFeature Web-Server,Web-Mgmt-Tools
  • Get-Command New-Website,New-IISSite -ErrorAction SilentlyContinue
  • Get-IISSite 2>$null
06
Fehlerbehebung

Häufige Fehler bei der massenhaften Domainanlage

5 Einträge
Fehlermeldung

Cannot create a file when that file already exists

Derselbe IIS-Websitename, dasselbe Binding oder derselbe physische Pfad kann bereits existieren.

Fehlermeldung

Cannot find path IIS:\

WebAdministration ist möglicherweise nicht installiert oder PowerShell läuft nicht erhöht.

Fehlermeldung

HTTP Error 500.19

web.config-Syntax, gesperrte Abschnitte, fehlende Module oder NTFS-Zugriff können das Problem sein.

Fehlermeldung

503 Service Unavailable

Der Anwendungspool kann gestoppt, Rapid-Fail Protection ausgelöst oder die Runtime nicht geladen worden sein.

Fehlermeldung

Binding conflict

Dieselbe IP:Port:Host-Kombination kann auf einer anderen Website existieren oder ein leerer Hostheader kollidieren.

Kein passender Fehler gefunden.

Sicherheits- und Betriebsrisiken

Gehen Sie vor diesen Prüfungen nicht in Produktion

  • Führen Sie den ersten Lauf mit 2 Testdomains durch; übertragen Sie nicht sofort die vollständige Domainliste in die Produktion.
  • Bereiten Sie die Domainliste als reine Domainnamen ohne HTTPS, www oder Pfade vor.
  • Sichern Sie vor dem Vorgang Panelkonfiguration, DNS-Zonen und Webserverdateien.
  • Speichern Sie API-Schlüssel, Root-Passwörter oder erzeugte Benutzerpasswörter niemals im Webroot.
  • Massenhafte SSL-Anfragen vor Abschluss der DNS-Propagation können Rate-Limits und fehlgeschlagene Validierungen verursachen.
Prüfliste

Kriterien für einen erfolgreichen Vorgang

  • Domains werden im Panel oder in der Webserverliste angezeigt.
  • Jede Domain verweist auf das richtige Document-Root-Verzeichnis.
  • Die HTTP-Anfrage liefert den erwarteten Statuscode.
  • DNS-A/AAAA-Einträge zeigen auf die richtige Server-IP-Adresse.
  • Fehlgeschlagene Einträge werden in ein separates Protokoll geschrieben und können erneut ausgeführt werden.
  • SSL wird nur für Domains aktiviert, deren DNS-Validierung erfolgreich ist.
07
Häufig gestellte Fragen

Windows Server IIS Antworten zur Domain-Massenverwaltung

Ist für jede Domain ein eigener Anwendungspool erforderlich?

Nein. Er bietet Isolation für verschiedene Kunden oder Anwendungen; trafficarme Alias-Websites innerhalb einer Vertrauensgrenze können einen Pool teilen.

Können Hunderte Bindings zu einer IIS-Website hinzugefügt werden?

Technisch ist das möglich, wenn alle dieselbe Anwendung ausliefern. Planen Sie Zertifikat/SNI, Logging, Canonical und Weiterleitungen separat.

Wie werden HTTPS-Bindings automatisiert?

Beschaffen und installieren Sie das Zertifikat im LocalMachine-Speicher und binden Sie anschließend ein SNI-Hostbinding über den Thumbprint. Verwalten Sie den Zertifikatslebenszyklus separat.

Können PHP-Websites unter IIS laufen?

Ja, mit FastCGI und passender PHP-Konfiguration. Standardisieren Sie PHP-Handler, Request-Timeouts und Dateiberechtigungen getrennt von der Domainanlage.

Können Einträge auch zu Windows DNS Server hinzugefügt werden?

Wenn die DNS-Rolle auf dem Server liegt, können Cmdlets wie Add-DnsServerResourceRecordA verwendet werden. Externes DNS oder Cloudflare erfordert einen separaten Provider-API-Ablauf.

Kann Platz eins bei Google garantiert werden?

Nein. Technische Grundlagen, originelle Texte, mehrsprachige URLs und strukturierte Daten unterstützen die Sichtbarkeit, garantieren aber keine Rankings.

08
Themencluster

Weitere Leitfäden zum massenhaften Hinzufügen von Domains

09
Primärquellen

Offizielle Panel-, Webserver- und Google-Dokumentation

EKA SOFTWARE- UND INFORMATIONSSYSTEME

Planen wir Ihre umfangreiche Domainmigration ohne Datenverlust oder Ausfallzeit

Wir setzen Panelwahl, DNS, SSL, Webserver, Sicherheit, Sicherung und Prüfung entsprechend Ihrer tatsächlichen Serverarchitektur um.

Top