Müssen Sie Ihre IIS-Webserver-App-Pools im Auge behalten? Hier finden Sie eine Anleitung zum Erstellen von Anwendungspools in IIS mit PowerShell.
Wo wenden Sie sich hin, wenn Sie einen IIS-Webserver-Farm mit möglicherweise Dutzenden oder Hunderten von App-Pools verwalten? Natürlich zu PowerShell-Skripten! Durch die Verwendung des WebAdministrationPowerShell-Moduls, das als Teil von IIS installiert ist, und ein wenig PowerShell-Remoting können Sie App-Pools problemlos erstellen, ändern und entfernen.
Lassen Sie uns einige Beispiele durchgehen, wie Sie das erreichen können.
Wenn Sie PowerShell noch nie zur Verwaltung Ihrer IIS-Server verwendet haben, könnte Ihr erster Gedanke sein, nach einem ComputerName
in den meisten Cmdlets zu suchen. Leider ist das nicht der Fall.
Zur Verwaltung von IIS-Servern über Remoting sind wir gezwungen, PowerShell-Remoting mit dem Invoke-Command
-Cmdlet zu verwenden. Obwohl das kein Ausschlusskriterium ist, macht es den Code etwas umfangreicher, als er sein könnte. Dies soll Sie nicht davon abhalten, entfernte IIS-Server mit PowerShell zu verwalten, sondern ist mehr als Information.
Verwandt: Invoke-Command: Der beste Weg, Remote-Code auszuführen
I know I was pretty frustrated the first time I tried this and didn’t see that familiar ComputerName
parameter on many of the cmdlets.
ANMERKUNG: In Zukunft werden wir Code erstellen, um ihn in einen Skriptblock einzugeben. Wir werden dann
Invoke-Command
verwenden, um diesen Skriptblock auf dem entfernten IIS-Server auszuführen.
Auflisten von IIS-Anwendungspools mit PowerShell
Um Webanwendungspools zu verwalten, müssen wir zuerst das WebAdministration-Modul importieren.
Dadurch werden alle IIS-Cmdlets eingebunden und das IIS-Laufwerk erstellt. Hier wird die meiste Konfiguration für den App-Pool durchgeführt. Lassen Sie uns zuerst überprüfen, ob bereits vorhandene App-Pools vorhanden sind.
Erstellen neuer IIS-Anwendungspools mit PowerShell
Es sieht so aus, als hätte ich bereits einen namens GHI. Vielleicht möchte ich einen weiteren erstellen. Die Verwendung des IIS-Laufwerks macht dies sehr einfach. Verwenden Sie einfach New-Item
und geben Sie den Pfad an.
Prüfen und Ändern von Anwendungspool-Eigenschaften
I’ve now created a new app pool. We can then check all of the properties on that app pool using Get-ItemProperty
and select all of the properties it returns with Select-Object
. This will return all of the property names and values so you can get figure out which ones you need to modify with Set-ItemProperty
.
Jetzt, da Sie einen App-Pool haben und die Eigenschaften sehen können, lassen Sie uns eine Eigenschaft ändern. Vielleicht möchte ich eine bestimmte .NET-Runtime-Version mit dem App-Pool verwenden. Wiederum kann ich mit dem IIS-Laufwerk Set-ItemProperty
verwenden, um App-Pools zu verwalten, ähnlich wie das Dateisystem, die Registrierung, Zertifikate und all die anderen Dinge, die ein PowerShell-Laufwerk haben.
Mit Set-ItemProperty
können Sie fast alle Eigenschaften eines App-Pools ändern.
Entfernen von Anwendungspools mit PowerShell
Zum Schluss sind wir mit unserem App-Pool fertig und müssen ihn jetzt entfernen. Diesmal haben wir ein integriertes PowerShell-Cmdlet namens Remove-WebAppPool
. Geben Sie einfach den Namen an, und er ist verschwunden!
All dieser Code, den wir bisher verwendet haben, wurde lokal ausgeführt, aber was ist, wenn Sie ihn auf einem entfernten IIS-Server ausführen müssen? Hier kommt PowerShell-Remoting ins Spiel. Dazu müssen wir einfach den gesamten Code in einen Skriptblock bündeln und dann Invoke-Command
verwenden, um ihn auf dem Remote-Server auszuführen.
Obwohl dieser Code nicht sehr funktional ist, würde er einen neuen Anwendungspool mit dem Namen MyAppPool erstellen, eine Eigenschaft festlegen und sie dann entfernen. Sie werden feststellen, dass ich die Variable $using
verwende. Da der Code im Skriptblock auf einem entfernten Computer ausgeführt wird, ist dies erforderlich, damit PowerShell diese Variable erweitern und den tatsächlichen Wert von $appPoolName
verwenden kann, der lokal auf unserem Client-Computer deklariert wurde.
Wenn Sie mehr über das Verwalten von IIS im Allgemeinen erfahren möchten, schauen Sie sich die Seite zur Verwaltung von IIS auf der Technet IIS Administration an. Dort finden Sie alle Cmdlets, die im WebAdministration-Modul enthalten sind, und wie Sie sie verwenden können.