Share via


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\User01oder 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-WSManInstanceverwenden. 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.