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

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 des WinRM-Diensts 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 in der Regel im Kontext des WSMan-Anbieters verwendet, um eine Verbindung mit einem Remotecomputer herzustellen, in diesem Fall der 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 ComputerName-Liste 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 speichert sie dann in der $cred Variablen. Get-Credential fordert Sie je nach Systemregistrierungseinstellungen auf, ein Kennwort mit Benutzername und Kennwort über ein Dialogfeld oder an der Befehlszeile einzugeben.

Der zweite Befehl verwendet den Parameter "Credential ", um die anmeldeinformationen zu übergeben, die in $cred Connect-WSMangespeichert sind. Connect-WSMan stellt dann mithilfe der Administratoranmeldeinformationen eine Verbindung mit dem Remotesystemserver01 hergestellt.

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 eine Verbindung mit dem Remoteserver01-Computer mithilfe der verbindungsoptionen erstellt, die New-WSManSessionOption im Befehl definiert sind.

Der erste Befehl verwendet New-WSManSessionOption , um eine Reihe von Verbindungseinstellungsoptionen 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 Anmeldeinformationen zu übergeben, die in der $a Variablen Connect-WSMangespeichert sind. Stellt dann Connect-WSMan mithilfe der angegebenen Sitzungsoptionen eine Verbindung mit dem Remoteserver01-Computer hergestellt.

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 Anwendungen geeignet. Dieser Parameter soll verwendet werden, wenn viele Computer Remoteverbindungen mit einem Computer herstellen, auf dem Windows PowerShell ausgeführt wird. In diesem Fall hostet IIS Webdienste für die Verwaltung (WS-Management) zur Effizienz.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Authentication

Gibt den Authentifizierungsmechanismus an, der auf dem Server verwendet werden soll. Zulässige Werte für diesen Parameter:

  • Basic- Einfach ist ein Schema, bei dem der Benutzername und das Kennwort im Klartext an den Server oder Proxy gesendet werden.
  • Default - Verwenden Sie die vom WS-Management-Protokoll implementierte Authentifizierungsmethode. Dies ist die Standardeinstellung.
  • Digest – Digest ist ein Abfrageantwortschema, das eine serverspezifische Datenzeichenfolge für die Abfrage verwendet.
  • Kerberos – Der Clientcomputer und der Server authentifizieren sich gegenseitig mithilfe von Kerberos-Zertifikaten.
  • Negotiate - Negotiate ist ein Abfrageantwortschema, das mit dem Server oder Proxy aushandelt, um das schema zu bestimmen, das für die Authentifizierung verwendet werden soll. Mit diesem Parameterwert kann beispielsweise ermittelt werden, ob das Kerberos-Protokoll oder NTLM verwendet wird.
  • CredSSP – Verwenden Sie die Authentifizierung des Credential Security Support Provider (CredSSP), mit der die Anmeldeinformationen des Benutzers delegiert werden können. 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.

Typ:AuthenticationMechanism
Aliase:auth, am
Zulässige Werte:None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren: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 Befehl oder Get-ChildItem den Get-Item Befehl im Windows PowerShell-Zertifikat: Laufwerk.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren: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 lokalen Computernamen, 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.

Typ:String
Aliase:cn
Position:0
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren: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.

Typ:Uri
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren: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 objekt, das Get-Credential vom Cmdlet zurückgegeben wird. Wenn Sie einen Benutzernamen eingeben, werden Sie von diesem Cmdlet aufgefordert, ein Kennwort einzugeben.

Typ:PSCredential
Aliase:cred, c
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-OptionSet

Gibt eine Reihe 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}

Typ:Hashtable
Aliase:os
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren: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 ComputersName-Parameters mit dem gemeinsamen Zertifikatnamen (CN) des Servers übereinstimmen. Wenn der Parameter SkipCNCheck jedoch als Teil des SessionOption-Parameters angegeben wird, muss der allgemeine Zertifikatname des Servers nicht mit dem Hostnamen des Servers übereinstimmen. Der Parameter SkipCNCheck sollte nur für vertrauenswürdige Computer verwendet werden.

Typ:Int32
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SessionOption

Gibt erweiterte Optionen für die WS-Management-Sitzung an. Geben Sie ein SessionOption-Objekt ein, das Sie mithilfe des New-WSManSessionOption Cmdlets erstellen. Geben Sie weitere Informationen zu den verfügbaren Optionen ein Get-Help New-WSManSessionOption.

Typ:SessionOption
Aliase:so
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren: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 nicht für den Port verfügbar ist, der für die Verbindung verwendet wird, und Sie diesen Parameter angeben, schlägt der Befehl fehl.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

None

Sie können keine Objekte an dieses Cmdlet weiterleiten.

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. Sie können dies mithilfe der ComputerName-Parameter von Invoke-WSManAction und Get-WSManInstance. Wenn Sie den Parameter ComputerName 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.