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-WSMan
gespeichert 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-WSMan
gespeichert 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\User01
oder 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.