IIS: Aktivieren Sie die IIS-Remoteverwaltung

Sie können die Aktivierung von Remoteverwaltungsfunktionen von einem Remoteserver aus mithilfe von Windows PowerShell-Remotevorgängen beschleunigen.

Jason Helmick

Haben Sie sich jemals gewünscht, um Remote Verwalten eines IIS-Servers, dessen Konfiguration ändern oder Hinzufügen einer einfachen Website — und von einem Remotestandort aus zu tun? Offensichtlich aus Sicherheitsgründen nicht Sie nur IIS-Manager zu öffnen und zu einem Remoteserver herstellen. Jeden IIS-Server, die Sie verwalten möchten, müssen remote Management aktiviert, konfiguriert und ein Zertifikat für die HTTPS zugewiesen.

Aktivieren der remote-IIS ist die Verwaltung mit dem grafischen IIS-Manager schnell und einfach, aber nur, wenn Sie sitzen auf dem Web-Server oder Remote Desktop Protocol (RDP) verwenden. Haben Sie mehrere Web-Server, die remote-Verwaltung brauchen – oder wenn, wie ich Sie Server Core verwenden — GUI- IIS-Manager ist nicht praktisch oder sogar möglich.

Sie können remote-Management auf einer beliebigen Anzahl von remote Web-Servern mit Windows PowerShellaktivieren. Sie werden in der Lage, dies zu tun, so viele Web-Server wie Sie, auf einmal benötigen. Mit einer speziellen Funktion namens Windows PowerShell -Remoting verwenden Sie Windows PowerShell .

Du musst Windows PowerShell -Remoting auf allen Servern mit IIS zu aktivieren. Es gibt keine Möglichkeit, dies zu vermeiden. Der beste Weg um Remoting zu aktivieren ist durch ein Gruppenrichtlinienobjekt (GPO). Wenn Sie nicht wissen, dass dies tun oder benötigen weitere Informationen über den Prozess, schauen Sie sich das kostenlose eBook "Geheimnisse der PowerShell-Remoting," von Don Jones und Dr. Tobias Weltner.

Bevor Sie sagen, "Ich bin nicht erlaubt, dies zu tun" hinsetzen und lesen Sie dieses Handbuch. In einer Testumgebung eingerichtet und laden Sie Ihre Freunde Sicherheit zu prüfen und erhalten die Erlaubnis Remoting zu aktivieren. Wenn Ihre Web-Server auf Windows Server 2012 ausgeführt werden, verfügen Sie bereits über Remoting aktiviert. Wenn dies nicht der Fall ist, musst du dies abgeschlossen ist, bevor Sie versuchen, die hier beschriebenen Schritte.

Windows PowerShell -Remoting ist vollkommen sicher, und Sie brauchen es für viele IIS-bezogene Verwaltungsaufgaben in der Zukunft. Prozesses zur remote-Verwaltung ist nicht kompliziert, aber es gibt mehrere Schritte. Hier ist was Sie erwarten:

  1. Erstellen einer Windows PowerShell -Sitzungs für jeden Server
  2. Installieren Sie den IIS-Webverwaltungsdienst (WMSvc)
  3. Aktivieren der IIS-WMSvc
  4. Starten Sie den IIS-WMSvc
  5. Ersetzen Sie das temporäre Zertifikat
  6. Verbinden Sie mit dem IIS-Manager

In diesem Beispiel werde ich aktivieren der Remoteverwaltung auf vier IIS-Servern, die mit dem Namen Web1, Web2 und Web3 Web4 — alle zur gleichen Zeit. Nachdem sie immer arbeiten, werde ich das temporäre Zertifikat mit einem vertrauenswürdigen Zertifikat aus Active Directory-Zertifikatdienste (AD CS) ersetzen.

1. Windows PowerShell -Remoting-Sitzungen für die Web-Server zu erstellen

Der erste Schritt ist die Schaffung eine Windows PowerShell -Remoting-Sitzung für den Web-Servern. Zunächst erstellen eine Variable "$Servers", die die Computernamen der Webserver enthält. Dann erstellen Sie und speichern Sie die Sitzungen in einer Variablen "$Sessions":

PS> C:\> $Servers = 'web1', 'web2', 'web3', 'web4' PS> C:\> $Sessions = New-PSSession –ComputerName $Servers

Sie benötigen beide Variablen während des gesamten Prozesses. Don' t versuchen, dies zu einem einzigen Einzeiler zu verkürzen. Sie $Servers aus einer Textdatei, CSV-Datei oder Active Directory mithilfe des Cmdlets Get-ADComputer füllen könnte, aber das ist ein anderes Thema.

2. Installieren Sie die IIS-WMSvc

Die IIS-WMSvc ist eine zusätzliche Komponente, die Sie benötigen IIS hinzu. Mit die Remoting-Sitzungen, erleichtert Windows PowerShell diese Aufgabe (die erste Zeile wird nicht notwendig sein, wenn Sie Windows Server 2012 verwenden):

PS C:\> Invoke-Command –Session $Sessions –ScriptBlock {Import-Module ServerManager} PS C:\> Invoke-Command –Session $Sessions –ScriptBlock {Add-WindowsFeature Web-Mgmt-Service}

An dieser Stelle haben Sie die IIS-WMSvc installiert. Aktivierung des Dienstes ist der nächste Schritt.

3. Aktivieren der IIS-WMSvc

Die Standardeinstellungen für den Verwaltungsdienst werden Windows-Anmeldeinformationen zu ermöglichen, verwenden Sie Port 8172 und anwenden ein temporäres Zertifikat festgelegt. Verwenden Sie diese Einstellungen fürs erste, und ändern Sie das temporäre Zertifikat in einen "vertrauenswürdigen" am Ende dieses Prozesses. Um den Management-Dienst zu aktivieren, ändern Sie einen Registrierungsschlüssel auf entfernten Webservern:

PS C:\> Invoke-command –Session $Sessions -ScriptBlock{Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\WebManagement\Server -Name EnableRemoteManagement -Value 1}

Nun, da der Management-Dienst aktiviert ist, können Sie es gestartet haben.

4. Starten Sie den IIS-WMSvc

Die IIS-WMSvc ist nicht standardmäßig gestartet. In der Tat ist der Dienst auf manuellen Start festgelegt. Wenn Sie einen Webserver in der Zukunft neu starten, startet der Verwaltungsdienst nicht. Ändern Sie den Starttyp auf automatisch, und starten Sie dann den Dienst:

PS C:\> Invoke-command –Session $Sessions -ScriptBlock {Set-Service -name WMSVC -StartupType Automatic} PS C:\> Invoke-command –Session $Sessions -ScriptBlock {Start-service WMSVC}

Zu diesem Zeitpunkt der Verwaltungsdienst ausgeführt wird und Sie können die Web-Server mit dem IIS-Managerremote verwalten. Das einzige Problem ist, dass das Zertifikat im Einsatz nicht vertrauenswürdigen und vorübergehend ist, also dieses Zertifikat durch ein vertrauenswürdiger ersetzen.

5. Das temporäre Zertifikat ersetzen

Es gibt viele Optionen für das Ersetzen der temporären Bescheinigung, einschließlich das neue IIS-8-Feature haben Zertifikate im Zertifikatspeicher Central. Dies ist mein Favorit.

Ich gehe durch den kurzen Prozess der kopieren und Installieren eines neuen Zertifikats von einer PFX-Datei festlegen und dann die Website-Bindungen für das neue Zertifikat. In diesem Beispiel hat ein Wildcard-Zertifikat auf dem lokalen Computer C:\_.Company.loc.pfx. Zuerst kopieren Sie das Zertifikat (PFX-Datei) auf den remote-Webservern, dann verwenden Sie CertUtil.exe, um das Zertifikat zu installieren:

PS C:\> $Servers | Foreach-Object {Copy-Item -Path C:\_.Company.loc.pfx -Destination "\\$_\c$"} PS> c:\> Invoke-Command -Session $Sessions {certutil -p P@ssw0rd -importpfx c:\_.company.loc.pfx}

Beachten Sie, dass ich das Kennwort in Klartext gesendet. Windows PowerShell -Remoting ist völlig sicher und verschlüsselt. Nachdem das Zertifikat installiert ist, ist es wichtig, zu merken, um die PFX-Datei aus den Web-Servern zu löschen:

PS> $Servers | Foreach-Object {Remove-Item -Path "\\$_\c$\_.Company.loc.pfx"}

Zu diesem Zeitpunkt benötigen Sie den Fingerabdruck des das installierte Zertifikat und du musst die Bindung für den Verwaltungsdienst zu ändern. Hierzu benötigen Sie den IIS-Anbieter. Starten Sie die WebAdministration Lademodul auf entfernten Webservern:

PS C:\> Invoke-Command -Session $Sessions {Import-Module WebAdministration}

Erhalten Sie das Zertifikat Fingerabdruck, eine neue Bindung zu machen:

PS C:\> Invoke-Command -Session $Sessions {$cert = Get-ChildItem -Path Cert:\LocalMachine\My | Where {$_.subject -like "*company*"} | Select-Object -ExpandProperty Thumbprint}

Entfernen Sie die alte SSL-Bindung:

PS C:\> Invoke-command -Session $Sessions {Remove-Item -Path IIS:\SslBindings\0.0.0.0!8172}

Fügen Sie die neue SSL-Bindung mit dem Zertifikat Fingerabdruck:

PS C:\> Invoke-Command -Session $Sessions {Get-Item -Path "cert:\localmachine\my\$cert" | New-Item -Path IIS:\SslBindings\0.0.0.0!8172}

Jetzt sind Sie bereit zum Herstellen einer Verbindung mit der Web-Server mit dem IIS-Manager.

6. Verbinden Sie mit dem Webserver remote mit dem IIS-Manager

Der letzte Schritt besteht darin, Ihre IIS-Managerzu öffnen, wählen die Startseite auf der linken Scheibe und im mittleren Bereich "Mit einem Server verbinden." Geben Sie den Servernamen und Ihre Anmeldeinformationen und du wirst sehen, dass eine neue Verbindung im Navigationsbereich des IIS-Managerangezeigt.

Da ich diesen Vorgang etwas auszuführen, ich habe die obigen Befehle und lege sie in ein Skript. Wenn Sie denken, Sie müssen möglicherweise mehr als einmal machen — und ich bin sicher, Sie werden — es ist immer am besten, um diesen Vorgang zu automatisieren.

Jason Helmick

Jason Helmick hat mehr als 20 Jahre Erfahrung drin als Unternehmens-Berater, Trainer und Autor. Als der Direktor der Windows PowerShell -Technologien-Schnittstelle technische Ausbildung konzentriert er sich auf Automatisierung mit Active Directory und IIS. Sie finden weitere Informationen zu IIS in seinem nächsten Buch von Manning Publications, "Learn Windows IIS in einem Monat Mittagessen.

Verwandte Inhalte