Connect-WSMan
Stellt eine Verbindung mit dem WinRM-Dienst auf einem Remotecomputer her.
Syntax
Connect-WSMan
[-ApplicationName <String>]
[[-ComputerName] <String>]
[-OptionSet <Hashtable>]
[-Port <Int32>]
[-SessionOption <SessionOption>]
[-UseSSL]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Connect-WSMan
[-ConnectionURI <Uri>]
[-OptionSet <Hashtable>]
[-Port <Int32>]
[-SessionOption <SessionOption>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Beschreibung
Dieses Cmdlet ist nur auf der Windows-Plattform verfügbar.
Das Connect-WSMan
Cmdlet stellt eine Verbindung mit dem WinRM-Dienst auf einem Remotecomputer her und stellt eine dauerhafte Verbindung mit dem Remotecomputer her. Sie können dieses Cmdlet im Kontext des WSMan-Anbieters verwenden, um eine Verbindung mit dem WinRM-Dienst auf einem Remotecomputer herzustellen. Sie können dieses Cmdlet jedoch auch verwenden, um eine Verbindung mit dem WinRM-Dienst auf einem Remotecomputer herzustellen, bevor Sie zum WSMan-Anbieter wechseln. Der Remotecomputer wird im Stammverzeichnis des WSMan-Anbieters angezeigt.
Wenn die Client- und Servercomputer in verschiedenen Domänen oder Arbeitsgruppen enthalten sind, sind explizite Anmeldeinformationen erforderlich.
Informationen zum Trennen der Verbindung mit dem WinRM-Dienst auf einem Remotecomputer finden Sie im Disconnect-WSMan
Cmdlet.
Beispiele
Beispiel 1: Herstellen einer Verbindung mit einem Remotecomputer
PS C:\> Connect-WSMan -ComputerName "server01"
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName Type
------------ ----
localhost Container
server01 Container
Dieser Befehl erstellt eine Verbindung mit dem Remotecomputer server01.
Das Connect-WSMan
Cmdlet wird im Allgemeinen im Kontext des WSMan-Anbieters verwendet, um eine Verbindung mit einem Remotecomputer herzustellen, in diesem Fall dem Server01-Computer. Sie können das Cmdlet jedoch verwenden, um Verbindungen mit Remotecomputern herzustellen, bevor Sie zum WSMan-Anbieter wechseln. Diese Verbindungen werden in der Liste ComputerName angezeigt.
Beispiel 2: Herstellen einer Verbindung mit einem Remotecomputer mithilfe von Administratoranmeldeinformationen
PS C:\> $cred = Get-Credential Administrator
PS C:\> Connect-WSMan -ComputerName "server01" -Credential $cred
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName Type
------------ ----
localhost Container
server01 Container
Dieser Befehl erstellt eine Verbindung mit dem Remotesystem server01 unter Verwendung der Anmeldeinformationen für das Administratorkonto.
Der erste Befehl verwendet das Cmdlet Get-Credential, um die Administratoranmeldeinformationen abzurufen und dann in der $cred
Variablen zu speichern. Get-Credential
fordert Sie je nach Systemregistrierungseinstellungen über ein Dialogfeld oder über die Befehlszeile zur Eingabe eines Kennworts mit Benutzername und Kennwort auf.
Der zweite Befehl verwendet den Credential-Parameter , um die in $cred gespeicherten Anmeldeinformationen an zu Connect-WSMan
übergeben. Connect-WSMan
stellt dann mithilfe der Administratoranmeldeinformationen eine Verbindung mit dem Remotesystem server01 her.
Beispiel 3: Herstellen einer Verbindung mit einem Remotecomputer über einen angegebenen Port
PS C:\> Connect-WSMan -ComputerName "server01" -Port 80
PS C:\> cd wsman:
PS WSMan:\>
PS WSMan:\> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName Type
------------ ----
localhost Container
server01 Container
Dieser Befehl stellt über Port 80 eine Verbindung mit dem Remotecomputer server01 her.
Beispiel 4: Herstellen einer Verbindung mit einem Remotecomputer mithilfe von Verbindungsoptionen
PS C:\> $a = New-WSManSessionOption -OperationTimeout 30000
PS C:\> Connect-WSMan -ComputerName "server01" -SessionOption $a
PS C:\> cd wsman:
PS WSMan:\> dir
WSManConfig: Microsoft.WSMan.Management\WSMan::WSMan
ComputerName Type
------------ ----
localhost Container
server01 Container
In diesem Beispiel wird mithilfe der im Befehl definierten Verbindungsoptionen eine Verbindung mit dem New-WSManSessionOption
Remotecomputer server01 hergestellt.
Der erste Befehl verwendet New-WSManSessionOption
, um eine Reihe von Optionen für Verbindungseinstellungen in der $a
Variablen zu speichern. In diesem Fall wird durch die Sitzungsoptionen ein Verbindungstimeout von 30 Sekunden (30.000 Millisekunden) festgelegt.
Der zweite Befehl verwendet den Parameter SessionOption , um die In der $a
Variablen gespeicherten Anmeldeinformationen an zu Connect-WSMan
übergeben. Stellen Sie dann Connect-WSMan
mithilfe der angegebenen Sitzungsoptionen eine Verbindung mit dem Remotecomputer server01 her.
Parameter
-ApplicationName
Gibt den Anwendungsnamen in der Verbindung an. Der Standardwert des ApplicationName-Parameters ist WSMAN. Der vollständige Bezeichner für den Remoteendpunkt hat das folgende Format:
<Transport>://<Server>:<Port>/<ApplicationName>
Beispiel: http://server01:8080/WSMAN
Die Sitzung wird von IIS (Internetinformationsdienste) gehostet. IIS leitet Anforderungen mit diesem Endpunkt an die angegebene Anwendung weiter. Diese Standardeinstellung von WSMAN ist für die meisten Verwendungszwecke geeignet. Dieser Parameter ist für die Verwendung vorgesehen, wenn viele Computer Remoteverbindungen mit einem Computer herstellen, auf dem Windows PowerShell ausgeführt wird. In diesem Fall hostet IIS Web Services for Management (WS-Management) aus Effizienzgründen.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Authentication
Gibt den Authentifizierungsmechanismus an, der auf dem Server verwendet werden soll. Zulässige Werte für diesen Parameter:
Basic
- Basic ist ein Schema, bei dem der Benutzername und das Kennwort in Klartext an den Server oder Proxy gesendet werden.Default
– Verwenden Sie die vom WS-Management-Protokoll implementierte Authentifizierungsmethode. Dies ist die Standardoption.Digest
– Digest ist ein Challenge-Antwort-Schema, das eine serverspezifische Datenzeichenfolge für die Herausforderung verwendet.Kerberos
– Der Clientcomputer und der Server authentifizieren sich gegenseitig mithilfe von Kerberos-Zertifikaten.Negotiate
– Negotiate ist ein Challenge-Response-Schema, das mit dem Server oder Proxy aushandelt, um das für die Authentifizierung zu verwendende Schema zu bestimmen. Dieser Parameterwert ermöglicht beispielsweise die Aushandlung, um zu bestimmen, ob das Kerberos-Protokoll oder NTLM verwendet wird.CredSSP
– Verwenden Sie die CredSSP-Authentifizierung (Credential Security Support Provider), mit der der Benutzer Anmeldeinformationen delegieren kann. Diese Option ist für Befehle vorgesehen, die auf einem Remotecomputer ausgeführt werden, jedoch Daten von anderen Remotecomputern sammeln oder zusätzliche Befehle auf anderen Remotecomputern ausführen.
Achtung
CredSSP delegiert die Benutzeranmeldeinformationen vom lokalen Computer an einen Remotecomputer. Dieser Vorgang erhöht das Sicherheitsrisiko des Remotevorgangs. Wenn die Sicherheit des Remotecomputers gefährdet ist, während Anmeldeinformationen an ihn übergeben werden, können die Anmeldeinformationen zum Steuern der Netzwerksitzung verwendet werden.
Type: | AuthenticationMechanism |
Aliases: | auth, am |
Accepted values: | None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CertificateThumbprint
Gibt das digitale Zertifikat für öffentliche Schlüssel (X509) eines Benutzerkontos an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Geben Sie den Zertifikatfingerabdruck des Zertifikats ein.
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 den Get-Item
Befehl oder Get-ChildItem
im laufwerk Windows PowerShell Cert: .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Gibt den Computer an, auf dem der Verwaltungsvorgang ausgeführt werden soll. Bei dem Wert kann es sich um einen vollqualifizierten Domänennamen, einen NetBIOS-Namen oder eine IP-Adresse handeln. Verwenden Sie den Namen des lokalen Computers, verwenden Sie localhost, oder verwenden Sie einen Punkt (.
), um den lokalen Computer anzugeben. Der lokale Computer ist die Standardeinstellung. Wenn sich der Remotecomputer in einer anderen Domäne als der Benutzer befindet, müssen Sie einen vollqualifizierten Domänennamen verwenden. Sie können einen Wert für diesen Parameter an das Cmdlet weiterreichen.
Type: | String |
Aliases: | cn |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionURI
Gibt den Verbindungsendpunkt an. Das Format dieser Zeichenfolge lautet wie folgt:
<Transport>://<Server>:<Port>/<ApplicationName>
Die folgende Zeichenfolge ist ein richtig formatierter Wert für diesen Parameter:
http://Server01:8080/WSMAN
Der URI muss vollqualifiziert sein.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert ist der aktuelle Benutzer. Geben Sie einen Benutzernamen ein, z User01
. B. , Domain01\User01
oder User@Domain.com
. Oder geben Sie ein PSCredential-Objekt ein, z. B. ein vom Get-Credential
Cmdlet zurückgegebenes Objekt. Wenn Sie einen Benutzernamen eingeben, werden Sie von diesem Cmdlet zur Eingabe eines Kennworts aufgefordert.
Type: | PSCredential |
Aliases: | cred, c |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OptionSet
Gibt einen Satz von Schaltern zu einem Dienst an, um die Art der Anforderung zu ändern oder zu verfeinern. Diese ähneln Schaltern, die in Befehlszeilenshells verwendet werden, da sie dienstspezifisch sind. Es kann eine beliebige Anzahl von Optionen angegeben werden.
Das folgende Beispiel veranschaulicht die Syntax, durch die die Werte 1, 2 und 3 für die Parameter „a“, „b“ und „c“ übergeben werden:
-OptionSet @{a=1;b=2;c=3}
Type: | Hashtable |
Aliases: | os |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Port
Gibt den Port an, der verwendet wird, wenn der Client eine Verbindung mit dem WinRM-Dienst herstellt. Wenn der Transport auf HTTP festgelegt ist, lautet der Standardport 80. Wenn der Transport auf HTTPS festgelegt ist, lautet der Standardport 443.
Wenn Sie HTTPS als Transport verwenden, muss der Wert des Parameters ComputerName mit dem Zertifikat common name (CN) des Servers übereinstimmen. Wenn der SkipCNCheck-Parameter jedoch als Teil des SessionOption-Parameters angegeben wird, muss der allgemeine Zertifikatname des Servers nicht mit dem Hostnamen des Servers übereinstimmen. Der SkipCNCheck-Parameter sollte nur für vertrauenswürdige Computer verwendet werden.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SessionOption
Gibt erweiterte Optionen für die WS-Management-Sitzung an. Geben Sie ein SessionOption-Objekt ein, das Sie mit dem New-WSManSessionOption
Cmdlet erstellen. Um weitere Informationen zu den verfügbaren Optionen zu erhalten, geben Sie ein Get-Help New-WSManSessionOption
.
Type: | SessionOption |
Aliases: | so |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseSSL
Gibt an, dass das SSL-Protokoll (Secure Sockets Layer) verwendet wird, um eine Verbindung mit dem Remotecomputer herzustellen. Standardmäßig wird SSL nicht verwendet.
WS-Management verschlüsselt alle Windows PowerShell-Inhalte, die über das Netzwerk übertragen werden. Mit dem UseSSL-Parameter können Sie den zusätzlichen Schutz von HTTPS anstelle von HTTP angeben. Wenn SSL für den Port, der für die Verbindung verwendet wird, nicht verfügbar ist und Sie diesen Parameter angeben, schlägt der Befehl fehl.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet übergeben.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück.
Hinweise
Sie können auf einem Remotecomputer Verwaltungsbefehle ausführen oder Verwaltungsdaten abfragen, ohne eine WS-Management-Sitzung zu erstellen. Dazu können Sie die ComputerName-Parameter von Invoke-WSManAction
und Get-WSManInstance
verwenden. Wenn Sie den ComputerName-Parameter verwenden, erstellt Windows PowerShell eine temporäre Verbindung, die für den einzelnen Befehl verwendet wird. Nachdem der Befehl ausgeführt wurde, wird die Verbindung geschlossen.