Freigeben über


PowerShell-Snap-In: Navigieren im IIS-Snap-In-Namespace

von Thomas Deml

Jeder weiß, wie das Dateisystem organisiert ist. Dateisysteme sind hierarchische Namespaces, die aus Verzeichnissen bestehen, die Dateien und andere Verzeichnisse enthalten. Das PowerShell-Snap-In nutzt dieses Wissen über das Dateisystem und ermöglicht es, andere Datenspeicher als hierarchischen Namespace verfügbar zu machen. So wie der Stamm eines Dateisystemlaufwerks meist C:\ ist, ist der Stamm des IIS-Konfigurationssystems „IIS:“.

Unter dem „IIS:“-Stammlaufwerk finden Sie „Sites“ und Anwendungspools – „AppPools“ in der Kurzform.

Organisation des IIS-Snap-In-Namespace

Hier ist die Struktur des IIS PowerShell-Snap-In-Namespace. Die folgenden Container können nicht gelöscht oder verschoben werden.

  • IIS:\

    • Sites

      • Sitesammlung

        • Anwendungen und virtuelle Verzeichnisse
    • AppPools

      • WorkerProcesses
    • SslBindings

Hinweis: Wenn Arbeitsprozesse gestartet werden, finden Sie PowerShell „Process“-Objekte in der Arbeitsprozesssammlung. Diese Prozesssammlung wird mit „Request“- und „AppDomain“-Objekten erweitert. Damit können Sie die IIS-Arbeitsprozesse nach aktuell ausgeführten Anforderungen und ausgeführten Anwendungsdomänen abfragen.

Jetzt probieren wir es aus.

Aufgabe 1 – Erste Schritte mit dem IIS-Anbieternamespace

1.1. Starten der IIS PowerShell-Verwaltungskonsole

Klicken Sie auf das Startmenü und wählen Sie „Alle Programme“ – „IIS 7.0-Erweiterungen“ – „IIS PowerShell-Verwaltungskonsole“ aus. Die Eingabeaufforderung des neuen PowerShell-Befehlsfensters ist auf „IIS:“ festgelegt – der Stamm des IIS-Anbieternamespace.

1.2. Navigieren im Namespace

Geben Sie „dir“ ein, und Sie sehen, dass „Sites“ und „AppPools“ die einzigen zwei Verzeichnisse unter dem Stamm sind.

PS IIS:\> dir
Name
----
Sites
AppPools

Im nächsten Schritt wechseln wir zum Verzeichnis „Sites“. Dazu verwenden Sie die folgenden Befehle:

PS IIS:\> cd Sites
PS IIS:\Sites> dir
Name             ID   State      Physical Path                  Bindings
----             --   -----      -------------                  --------
Default Web Site 1    Started    f:\inetpub\wwwroot             http *:80:

Wenn Sie sich trauen, werden Sie feststellen, dass Sie mit der Eingabe von „cd Si<tab>“ die Befehlszeilenergänzung aktivieren.

Jetzt probieren Sie das:

1.2 Weitere Navigation

Probieren Sie jetzt Folgendes:

PS IIS:\Sites> Get-Item 'Default Web Site' | Select-Object *

PSPath                     : IIsProviderSnapIn\WebAdministration::\\THDLAP\Sites\Default Web Site
PSParentPath               : IIsProviderSnapIn\WebAdministration::\\THDLAP\Sites
PSChildName                : Default Web Site
PSDrive                    : IIS
PSProvider                 : IIsProviderSnapIn\WebAdministration
PSIsContainer              : True
State                      : Started
name                       : Default Web Site
id                         : 1
serverAutoStart            : True
bindings                   : {binding, binding}
limits                     : Microsoft.Web.Administration.ConfigurationElement
logFile                    : Microsoft.Web.Administration.ConfigurationElement
traceFailedRequestsLogging : Microsoft.Web.Administration.ConfigurationElement
applicationDefaults        : Microsoft.Web.Administration.ConfigurationElement
virtualDirectoryDefaults   : Microsoft.Web.Administration.ConfigurationElement
applicationPool            : DefaultAppPool
enabledProtocols           : http
userName                   :
password                   :
physicalPath               : f:\inetpub\wwwroot
Attributes                 : {name, id, serverAutoStart, state}
ChildElements              : {bindings, limits, logFile, traceFailedRequestsLogging...}
ElementTagName             : site
IsLocallyStored            : True
Methods                    : {Start, Stop}
RawAttributes              : {name, id, serverAutoStart, state}
Schema                     : Microsoft.Web.Administration.ConfigurationElementSchema

Jetzt haben wir zum ersten Mal ein PowerShell-Cmdlet ausprobiert, anstatt die guten alten DOS-Befehle wie CD oder DIR zu verwenden. Wenn Sie mit dem IIS PowerShell-Snap-In effektiv arbeiten möchten, sollten Sie sich mit diesen Befehlen vertraut machen.

„Get-Item“ ist beispielsweise ein Befehl, mit dem Sie Details zum Element am angegebenen Ort abrufen können. In unserem Fall werden Details für die „Default Web Site“ (Standardwebsite) abgerufen. Wenn Sie Zeit bei der Eingabe sparen möchten, versuchen Sie es mit „get-item D<tab>“, und die Befehlszeile wird von PowerShell automatisch ergänzt. Wir übergeben die Ausgabe von „Get-Item“ mithilfe des senkrechten Strichs an das „Select-Object“-Cmdlet, und es werden alle Konfigurationseinstellungen der „Default Web Site“ (Standardwebsite) angezeigt.

Zusammenfassung

In dieser exemplarischen Vorgehensweise haben Sie eine kurze Einführung zur Organisation des IIS Snap-In-Namespace erhalten. Zudem haben Sie einige grundlegende Befehle kennengelernt, um sich im IIS-Namespace zurechtzufinden.