about_WSMan_Provider
Anbietername
WSMan
Laufwerke
WSMan:
Kurze Beschreibung
Bietet Zugriff auf Konfigurationsinformationen für Webdienste für die Verwaltung (WS-Management).
Detaillierte Beschreibung
Mit dem WSMan-Anbieter für PowerShell können Sie WS-Management-Konfigurationsdaten auf lokalen oder Remotecomputern hinzufügen, ändern, löschen und löschen.
Der WSMan-Anbieter macht ein PowerShell-Laufwerk mit einer Verzeichnisstruktur verfügbar, die einer logischen Gruppierung der WS-Management-Konfigurationseinstellungen entspricht. Diese Gruppierungen werden als Container bezeichnet.
Ab Windows PowerShell 3.0 wurde der WSMan-Anbieter aktualisiert, um neue Eigenschaften für Sitzungskonfigurationen wie OutputBufferingMode zu unterstützen. Die Sitzungskonfigurationen werden als Elemente im Plug-In-Verzeichnis des WSMan:
Laufwerks angezeigt, und die Eigenschaften werden in jeder Sitzungskonfiguration als Elemente angezeigt.
Der WSMan-Anbieter unterstützt die folgenden Cmdlets, die in diesem Artikel behandelt werden.
Hinweis
Sie können Befehle im WSMan:
Laufwerk verwenden, um die Werte der neuen Eigenschaften zu ändern. Sie können das WSMan:
Laufwerk in PowerShell 2.0 jedoch nicht verwenden, um Eigenschaften zu ändern, die in Windows PowerShell 3.0 eingeführt werden.
Obwohl kein Fehler generiert wird, sind die Befehle nicht wirksam, um diese Einstellungen zu ändern, verwenden Sie das WSMan-Laufwerk in Windows PowerShell 3.0.
Organisation des WSMan: Drive
Client: Sie können verschiedene Aspekte des WS-Management-Clients konfigurieren. Die Konfigurationsinformationen werden in der Registrierung gespeichert.
Dienst: Sie können verschiedene Aspekte des WS-Management-Diensts konfigurieren. Die Konfigurationsinformationen werden in der Registrierung gespeichert.
Hinweis
Die Dienstkonfiguration wird manchmal als Serverkonfiguration bezeichnet.
Shell: Sie können verschiedene Aspekte der WS-Verwaltungsshell konfigurieren, z. B. die Einstellung zum Zulassen des Remoteshellzugriffs (AllowRemoteShellAccess) und die maximale Anzahl gleichzeitig zulässiger Benutzer (MaxConcurrentUsers).
Listener: Sie können einen Listener erstellen und konfigurieren. Ein Listener ist ein Verwaltungsdienst, der das WS-Management-Protokoll zum Senden und Empfangen von Nachrichten implementiert.
Plug-Ins werden geladen und vom WS-Management-Dienst verwendet, um verschiedene Funktionen bereitzustellen. PowerShell stellt standardmäßig drei Plug-Ins bereit:
- Das Ereignisweiterleitungs-Plug-In.
- Das Microsoft.PowerShell-Plug-In.
- Das WMI-Anbieter-Plug-In (Windows Management Instrumentation). Diese drei Plug-Ins unterstützen ereignisweiterleitung, Konfiguration und WMI-Zugriff.
ClientCertificate: Sie können ein Clientzertifikat erstellen und konfigurieren. Ein Clientzertifikat wird verwendet, wenn der WS-Management-Client für die Verwendung der Zertifikatauthentifizierung konfiguriert ist.
Verzeichnishierarchie des WSMan-Anbieters
Die Verzeichnishierarchie des WSMan-Anbieters für den lokalen Computer lautet wie folgt.
WSMan:\localhost
--- Client
--- Service
--- Shell
--- Listener
------ <Specific_Listener>
--- Plugin
------ Event Forwarding Plugin
--------- InitializationParameters
--------- Resources
------------ Security
------ Microsoft.Powershell
--------- InitializationParameters
--------- Resources
------------ Security
------ WMI Provider
--------- InitializationParameters
--------- Resources
------------ Security
--- ClientCertificate
Die Verzeichnishierarchie des WSMan-Anbieters für einen Remotecomputer ist identisch mit einem lokalen Computer. Um jedoch auf die Konfigurationseinstellungen eines Remotecomputers zuzugreifen, müssen Sie mithilfe von Connect-WSMan eine Verbindung mit dem Remotecomputer herstellen. Sobald eine Verbindung mit einem Remotecomputer hergestellt wurde, wird der Name des Remotecomputers im Anbieter angezeigt.
WSMan:\<Remote_Computer_Name>
Navigieren im WSMan: Laufwerk
Dieser Befehl verwendet das Set-Location
Cmdlet, um den aktuellen Speicherort auf das WSMan:
Laufwerk zu ändern.
Set-Location WSMan:
Um zu einem Dateisystemlaufwerk zurückzukehren, geben Sie den Namen des Laufwerks ein. Geben Sie z. B. ein.
Set-Location C:
Navigieren zu einem Remotespeicherort des Systems
Dieser Befehl verwendet den Set-Location
Befehl, um den aktuellen Speicherort in den Stammspeicherort des Remotesystems zu ändern. Verwenden Sie einen umgekehrten Schrägstrich \
oder schrägen Schrägstrich /
, um eine Ebene des WSMan:
Laufwerks anzugeben.
Set-Location -Path WSMan:\SERVER01
Hinweis
Der obige Befehl geht davon aus, dass bereits eine Verbindung mit dem Remotesystem besteht.
Anzeigen des Inhalts des WSMan: Laufwerk
Dieser Befehl verwendet das Get-Childitem
Cmdlet, um die WS-Management-Speicher im Localhost-Speicherspeicherort anzuzeigen.
Get-ChildItem -path WSMan:\Localhost
Wenn Sie sich auf dem WSMan:
Laufwerk befinden, können Sie den Laufwerknamen weglassen.
Dieser Befehl verwendet das Get-Childitem
Cmdlet, um die WS-Management-Speicher im Remotecomputerspeicherort "SERVER01" anzuzeigen.
Get-ChildItem -path WSMan:\SERVER01
Hinweis
Der obige Befehl geht davon aus, dass bereits eine Verbindung mit dem Remotesystem besteht.
Festlegen des Werts von Elementen im WSMAN:-Laufwerk
Sie können das Set-Item
Cmdlet verwenden, um die Konfigurationseinstellungen auf dem WSMAN
Laufwerk zu ändern. Im folgenden Beispiel wird der TrustedHosts-Wert so festgelegt, dass alle Hosts mit dem Suffix "contoso.com" akzeptiert werden.
# You do not need to specify the -Path parameter name when using Set-Item.
PS WSMAN:\localhost\Client> Set-Item .\TrustedHosts -Value "*.contoso.com"
Das Set-Item
Cmdlet unterstützt einen zusätzlichen Parameter -Concatenate
, der einen Wert angibt, anstatt ihn zu ändern. Im folgenden Beispiel wird ein neuer Wert "*.domain2.com" an den alten Wert angefügt, der in TrustedHost:
Set-Item WSMAN:\localhost\Client\TrustedHosts *.domain2.com -Concatenate
Erstellen von Elementen im WSMAN:-Laufwerk
Erstellen eines neuen Listeners
Das New-Item
Cmdlet erstellt Elemente innerhalb eines Anbieterlaufwerks. Jeder Anbieter verfügt über unterschiedliche Elementtypen, die Sie erstellen können. Auf dem WSMAN:
Laufwerk können Sie Listener erstellen, die Sie konfigurieren, um Remoteanforderungen zu empfangen und darauf zu reagieren. Mit dem folgenden Befehl wird mithilfe des New-Item
Cmdlets ein neuer HTTP-Listener erstellt.
New-Item -Path WSMan:\localhost\Listener -Address * -Transport HTTP -force
Erstellen eines neuen Plug-Ins
Mit diesem Befehl wird ein Plug-In für den WS-Management-Dienst erstellt (registriert).
New-Item -Path WSMan:\localhost\Plugin `
-Plugin TestPlugin `
-FileName %systemroot%\system32\WsmWmiPl.dll `
-Resource http://schemas.dmtf.org/wbem/wscim/2/cim-schema `
-SDKVersion 1 `
-Capability "Get","Put","Invoke","Enumerate" `
-XMLRenderingType text
Erstellen eines neuen Ressourceneintrags
Mit diesem Befehl wird ein Ressourceneintrag im Ressourcenverzeichnis eines TestPlugin erstellt. Bei diesem Befehl wird davon ausgegangen, dass ein TestPlugin mit einem separaten Befehl erstellt wurde.
New-Item -Path WSMan:\localhost\Plugin\TestPlugin\Resources `
-ResourceUri http://schemas.dmtf.org/wbem/wscim/3/cim-schema `
-Capability "Enumerate"
Erstellen eines neuen Sicherheitseintrags für eine Ressource
Dieser Befehl erstellt einen Sicherheitseintrag im Sicherheitsverzeichnis von Resource_5967683 (eine bestimmte Ressource). Bei diesem Befehl wird davon ausgegangen, dass der Ressourceneintrag mithilfe eines separaten Befehls erstellt wurde.
$path = "WSMan:\localhost\Plugin\TestPlugin\Resources\Resource_5967683"
New-Item -Path $path\Security `
-Sddl "O:NSG:BAD:P(A;;GA;;;BA)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)"
Erstellen eines neuen Clientzertifikats
Mit diesem Befehl wird der ClientCertificate-Eintrag erstellt, der vom WS-Management-Client verwendet werden kann. Das neue ClientCertificate wird unter dem Verzeichnis "ClientCertificate " als "ClientCertificate_1234567890" angezeigt. Alle Parameter sind obligatorisch. Der Aussteller muss den Fingerabdruck des Ausstellerzertifikats sein.
$cred = Get-Credential
New-Item -Path WSMan:\localhost\ClientCertificate `
-Issuer 1b3fd224d66c6413fe20d21e38b304226d192dfe `
-URI wmicimv2/* `
-Credential $cred;
Erstellen eines neuen Initialisierungsparameters
Mit diesem Befehl wird ein Initialisierungsparameter namens "testparametername" im Verzeichnis "InitializationParameters" erstellt. Bei diesem Befehl wird davon ausgegangen, dass das "TestPlugin" mit einem separaten Befehl erstellt wurde.
New-Item -Path WSMan:\localhost\Plugin\TestPlugin\InitializationParameters `
-ParamName testparametername `
-ParamValue testparametervalue
Dynamische Parameter
Dynamische Parameter sind Cmdlet-Parameter, die von einem PowerShell-Anbieter hinzugefügt werden und nur verfügbar sind, wenn das Cmdlet im vom Anbieter aktivierten Laufwerk verwendet wird.
Adresszeichenfolge <>
Gibt die Adresse an, für die der Listener erstellt wurde. Der Wert kann in folgenden Formen vorliegen:
- Die Literalzeichenfolge "*". (Das Wildcardzeichen (
*
) bewirkt, dass der Befehl alle IP-Adressen auf allen Netzwerkadaptern bindet.) - Die Literalzeichenfolge "IP:" gefolgt von einer gültigen IP-Adresse im IPv4-Dezimalformat oder im IPv6-Hexadezimalformat.
- Die Literalzeichenfolge "MAC:" gefolgt von der MAC-Adresse eines Adapters. Beispiel: MAC:32-a3-58-90-be-cc.
Hinweis
Der Adresswert wird beim Erstellen eines Listeners festgelegt.
Unterstützte Cmdlets
Capability-Aufzählung <>
Wenn Sie mit Plug-Ins arbeiten, gibt dieser Parameter einen Vorgang an, der für diesen URI (Uniform Resource Identifier) unterstützt wird. Sie müssen für jeden Vom URI unterstützten Vorgangstyp einen Eintrag erstellen. Sie können alle gültigen Attribute für einen bestimmten Vorgang angeben, wenn der Vorgang sie unterstützt.
Zu diesen Attributen gehören SupportsFiltering und SupportsFragment.
- Create: Create operations are supported on the URI.
- Das SupportFragment-Attribut wird verwendet, wenn der Create-Vorgang das Konzept unterstützt.
- Das SupportFiltering-Attribut ist nicht gültig für Create-Vorgänge und sollte auf "False" festgelegt werden.
Hinweis
Dieser Vorgang ist für einen URI ungültig, wenn shell-Vorgänge ebenfalls unterstützt werden.
- Löschen: Löschvorgänge werden für den URI unterstützt.
- Das SupportFragment-Attribut wird verwendet, wenn der Delete-Vorgang das Konzept unterstützt.
- Das SupportFiltering-Attribut ist nicht gültig für Löschvorgänge und sollte auf "False" festgelegt werden.
Hinweis
Dieser Vorgang ist für einen URI ungültig, wenn shell-Vorgänge ebenfalls unterstützt werden.
- Aufzählung: Enumerationsvorgänge werden für den URI unterstützt.
- Das SupportFragment-Attribut wird für Enumerationsvorgänge NICHT unterstützt und sollte auf "False" festgelegt werden.
- Das SupportFiltering-Attribut ist gültig, und wenn das Plug-In filtert, sollte dieses Attribut auf "True" festgelegt werden.
Hinweis
Dieser Vorgang ist für einen URI ungültig, wenn shell-Vorgänge ebenfalls unterstützt werden.
- Get: Get operations are supported on the URI.
- Das SupportFragment-Attribut wird verwendet, wenn der Get-Vorgang das Konzept unterstützt.
- Das SupportFiltering-Attribut ist nicht gültig für Get-Vorgänge und sollte auf "False" festgelegt werden.
Hinweis
Dieser Vorgang ist für einen URI ungültig, wenn shell-Vorgänge ebenfalls unterstützt werden.
- Aufruf: Aufrufvorgänge werden für den URI unterstützt.
- Das SupportFragment-Attribut wird für Aufrufvorgänge nicht unterstützt und sollte auf "False" festgelegt werden.
- Das Attribut "SupportFiltering " ist ungültig und sollte auf "False" festgelegt werden.
Hinweis
Dieser Vorgang ist für einen URI ungültig, wenn shell-Vorgänge ebenfalls unterstützt werden.
- Put: Put-Vorgänge werden für den URI unterstützt.
- Das SupportFragment-Attribut wird verwendet, wenn der Put-Vorgang das Konzept unterstützt.
- Das SupportFiltering-Attribut ist für Put-Vorgänge ungültig und sollte auf "False" festgelegt werden.
Hinweis
Dieser Vorgang ist für einen URI ungültig, wenn shell-Vorgänge ebenfalls unterstützt werden.
- Abonnieren: Abonnentenvorgänge werden für den URI unterstützt.
- Das SupportFragment-Attribut wird für Subscribe-Vorgänge nicht unterstützt und sollte auf "False" festgelegt werden.
- Das Attribut "SupportFiltering " ist für Subscribe-Vorgänge ungültig und sollte auf "False" festgelegt werden.
Hinweis
Dieser Vorgang ist für einen URI ungültig, wenn shell-Vorgänge ebenfalls unterstützt werden.
- Shell: Shell-Vorgänge werden für den URI unterstützt.
- Das SupportFragment-Attribut wird für Shell-Vorgänge nicht unterstützt und sollte auf "False" festgelegt werden.
- Das SupportFiltering-Attribut ist für Shell-Vorgänge ungültig und sollte auf "False" festgelegt werden.
Hinweis
Dieser Vorgang ist für einen URI ungültig, wenn auch EIN anderer Vorgang unterstützt wird.
Hinweis
Wenn ein Shell-Vorgang für einen URI konfiguriert ist, werden Vorgänge "Get", "Put", "Create", "Delete", "Invoke" und "Enumerate" intern innerhalb des WS-Management -Diensts (WinRM) verarbeitet, um Shells zu verwalten. Daher kann das Plug-In die Vorgänge nicht verarbeiten.
Unterstützte Cmdlets
CertificateThumbprint <String>
Gibt den Fingerabdruck des Dienstzertifikats an.
Dieser Wert stellt die Zeichenfolge von zweistelligen Hexadezimalwerten im Feld "Fingerabdruck" des Zertifikats dar. Es gibt das zertifikat für den digitalen öffentlichen Schlüssel (X509) eines Benutzerkontos an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Zertifikate werden bei der clientzertifikatbasierten Authentifizierung verwendet. Sie können nur lokalen Benutzerkonten zugeordnet werden und funktionieren nicht mit Domänenkonten. Verwenden Sie zum Abrufen eines Zertifikatfingerabdrucks die Get-Item
Cmdlets Get-ChildItem
im PowerShell-Laufwerk Cert:
.
Unterstützte Cmdlets
<Boolean aktiviert>
Gibt an, ob der Listener aktiviert oder deaktiviert ist. Der Standardwert ist True.
Unterstützte Cmdlets
FileName (Plug-In) <-Zeichenfolge>
Gibt den Dateinamen des Operations-Plug-Ins an. Alle Umgebungsvariablen, die in diesen Eintrag aufgenommen werden, werden im Kontext des Benutzers erweitert, wenn eine Anforderung empfangen wird. Da jeder Benutzer eine andere Version derselben Umgebungsvariable haben könnte, könnte jeder Benutzer ein anderes Plug-In haben. Dieser Eintrag darf nicht leer sein und muss auf ein gültiges Plug-In verweisen.
Unterstützte Cmdlets
HostName-Zeichenfolge <>
Gibt den Hostnamen des Computers an, auf dem der WS-Management -Dienst (WinRM) ausgeführt wird.
Bei diesem Wert muss es sich um einen vollständig qualifizierten Domänennamen, eine IPv4- oder IPv6-Literalzeichenfolge oder ein Platzhalterzeichen handeln.
Unterstützte Cmdlets
Ausstellerzeichenfolge <>
Gibt den Namen der Zertifizierungsstelle an, die das Zertifikat ausgestellt hat.
Unterstützte Cmdlets
Plug-Ins <> für WS-Management sind systemeigene Dynamic Link Libraries (DLLs)
die die Funktionalität von WS-Management erweitern und erweitern. Die WSW-Verwaltungs-Plug-In-API bietet Funktionen, mit denen ein Benutzer Plug-Ins schreiben kann, indem bestimmte APIs für unterstützte Ressourcen-URIs und -Vorgänge implementiert werden. Nachdem die Plug-Ins entweder für den WS-Management-Dienst (WinRM) oder für Internetinformationsdienste (IIS) konfiguriert wurden, werden die Plug-Ins im WS-Management-Host bzw. im IIS-Host geladen. Remoteanforderungen werden an diese Plug-In-Einstiegspunkte weitergeleitet, um Vorgänge auszuführen.
Unterstützte Cmdlets
Port <unsigned Short Integer>
Gibt den TCP-Port an, für den der Listener erstellt wird. Sie können einen beliebigen Wert zwischen 1 und 65535 angeben.
Unterstützte Cmdlets
Ressourcenzeichenfolge <>
Gibt einen Endpunkt an, der einen eindeutigen Verwaltungsvorgangs- oder Werttyp darstellt. Ein Dienst macht eine oder mehrere Ressourcen verfügbar, und einige Ressourcen können mehrere Instanzen aufweisen. Eine Verwaltungsressource ähnelt einer WMI-Klasse oder einer Datenbanktabelle, und eine Instanz ähnelt einer Instanz der Klasse oder einer Zeile in der Tabelle. Die Win32_LogicalDisk Klasse stellt beispielsweise eine Ressource dar. Win32_LogicalDisk="C:\\"
ist eine bestimmte Instanz der Ressource.
Ein URI (Uniform Resource Identifier) enthält ein Präfix und einen Pfad zu einer Ressource. Zum Beispiel:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor
Unterstützte Cmdlets
Ressourcenzeichenfolge <>
Gibt den URI (Uniform Resource Identifier) an, der einen bestimmten Ressourcentyp identifiziert, z. B. einen Datenträger oder einen Prozess, auf einem Computer.
Ein URI besteht aus einem Präfix und einem Pfad zu einer Ressource. Zum Beispiel:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor
Unterstützte Cmdlets
SDKVersion-Zeichenfolge <>
Gibt die Version des WS-Management-Plug-In-SDK an. Der einzige gültige Wert ist 1.
Unterstützte Cmdlets
Betreffzeichenfolge <>
Gibt die Entität an, die vom Zertifikat identifiziert wird.
Unterstützte Cmdlets
Transportzeichenfolge <>
Legt den Transport zum Senden und Empfangen von WS-Management-Protokollanforderungen und -antworten fest. Der Wert muss entweder HTTP oder HTTPS sein.
Hinweis: Der Transportwert wird beim Erstellen eines Listeners festgelegt.
Unterstützte Cmdlets
URI-Zeichenfolge <>
Gibt den URI an, für den der Zugriff basierend auf dem Wert des Sddl-Parameters autorisiert ist.
Unterstützte Cmdlets
URLPrefix-Zeichenfolge <>
Ein URL-Präfix, für das HTTP- oder HTTPS-Anforderungen akzeptiert werden sollen. Dies ist eine Zeichenfolge, die nur die Zeichen [a-z]
, [A-Z]
, [9-0]
, Unterstrich () und umgekehrten Schrägstrich (/
_
) enthält. Die Zeichenfolge darf nicht mit einem umgekehrten Schrägstrich (/
) beginnen oder enden. Wenn der Computername beispielsweise "SampleComputer" lautet, würde der WS-Management-Client in der Zieladresse angeben http://SampleMachine/URLPrefix
.
Unterstützte Cmdlets
Wertzeichenfolge <>
Gibt den Wert eines Initialisierungsparameters an, bei dem es sich um einen plug-in-spezifischen Wert handelt, der zum Angeben von Konfigurationsoptionen verwendet wird.
Unterstützte Cmdlets
XMLRenderingType-Zeichenfolge <>
Gibt das Format an, in dem XML über das WSMAN_DATA-Objekt an Plug-Ins übergeben wird. Es folgen gültige Werte:
- Text: Eingehende XML-Daten sind in einer WSMAN_DATA_TYPE_TEXT Struktur enthalten, die den XML-Code als PCWSTR-Speicherpuffer darstellt.
- XMLReader: Eingehende XML-Daten sind in einer WSMAN_DATA_TYPE_WS_XML_READER Struktur enthalten, die den XML-Code als XmlReader-Objekt darstellt, das in der Headerdatei "WebServices.h" definiert ist.
Unterstützte Cmdlets
Verwenden der Pipeline
Anbieter-Cmdlets akzeptieren Pipelineeingaben. Sie können die Aufgabe mithilfe der Pipeline vereinfachen, indem Sie Anbieterdaten von einem Cmdlet an ein anderes Anbieter-Cmdlet senden. Weitere Informationen zur Verwendung der Pipeline mit Anbieter-Cmdlets finden Sie in den Cmdlet-Referenzen in diesem Artikel.
Hilfe
Ab Windows PowerShell 3.0 können Sie benutzerdefinierte Hilfethemen für Anbieter-Cmdlets abrufen, die erläutern, wie sich diese Cmdlets in einem Dateisystemlaufwerk verhalten.
Um die Hilfethemen abzurufen, die für das Dateisystemlaufwerk angepasst sind, führen Sie einen Get-Help-Befehl auf einem Dateisystemlaufwerk aus, oder verwenden Sie den -Path
Parameter " Get-Help ", um ein Dateisystemlaufwerk anzugeben.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path wsman: