Freigeben über


New-PSSession

Erstellt eine dauerhafte Verbindung mit einem lokalen oder Remotecomputer.

Syntax

ComputerName (Standardwert)

New-PSSession
    [[-ComputerName] <String[]>]
    [-Credential <PSCredential>]
    [-Name <String[]>]
    [-EnableNetworkAccess]
    [-ConfigurationName <String>]
    [-Port <Int32>]
    [-UseSSL]
    [-ApplicationName <String>]
    [-ThrottleLimit <Int32>]
    [-SessionOption <PSSessionOption>]
    [-Authentication <AuthenticationMechanism>]
    [-CertificateThumbprint <String>]
    [<CommonParameters>]

Uri

New-PSSession
    [-ConnectionUri] <Uri[]>
    [-Credential <PSCredential>]
    [-Name <String[]>]
    [-EnableNetworkAccess]
    [-ConfigurationName <String>]
    [-ThrottleLimit <Int32>]
    [-AllowRedirection]
    [-SessionOption <PSSessionOption>]
    [-Authentication <AuthenticationMechanism>]
    [-CertificateThumbprint <String>]
    [<CommonParameters>]

VMId

New-PSSession
    [-VMId] <Guid[]>
    -Credential <PSCredential>
    [-Name <String[]>]
    [-ConfigurationName <String>]
    [-ThrottleLimit <Int32>]
    [<CommonParameters>]

VMName

New-PSSession
    -Credential <PSCredential>
    -VMName <String[]>
    [-Name <String[]>]
    [-ConfigurationName <String>]
    [-ThrottleLimit <Int32>]
    [<CommonParameters>]

Session

New-PSSession
    [[-Session] <PSSession[]>]
    [-Name <String[]>]
    [-EnableNetworkAccess]
    [-ThrottleLimit <Int32>]
    [<CommonParameters>]

ContainerId

New-PSSession
    -ContainerId <String[]>
    [-Name <String[]>]
    [-ConfigurationName <String>]
    [-RunAsAdministrator]
    [-ThrottleLimit <Int32>]
    [<CommonParameters>]

UseWindowsPowerShellParameterSet

New-PSSession
    [-Name <String[]>]
    [-UseWindowsPowerShell]
    [<CommonParameters>]

SSHHost

New-PSSession
    [-HostName] <String[]>
    [-Name <String[]>]
    [-Port <Int32>]
    [-UserName <String>]
    [-KeyFilePath <String>]
    [-Subsystem <String>]
    [-ConnectingTimeout <Int32>]
    [-SSHTransport]
    [-Options <Hashtable>]
    [<CommonParameters>]

SSHHostHashParam

New-PSSession
    -SSHConnection <Hashtable[]>
    [-Name <String[]>]
    [<CommonParameters>]

Beschreibung

Das New-PSSession Cmdlet erstellt eine PowerShell-Sitzung (PSSession) auf einem lokalen oder Remotecomputer. Wenn Sie eine PSSession-erstellen, stellt PowerShell eine dauerhafte Verbindung mit dem Remotecomputer her.

Verwenden Sie eine PSSession , um mehrere Befehle auszuführen, die Daten gemeinsam nutzen, z. B. eine Funktion oder den Wert einer Variablen. Verwenden Sie das Invoke-Command Cmdlet, um Befehle in einer PSSession auszuführen. Um die PSSession für die direkte Interaktion mit einem Remotecomputer zu verwenden, verwenden Sie das Enter-PSSession Cmdlet. Weitere Informationen finden Sie unter about_PSSessions.

Sie können Befehle auf einem Remotecomputer ausführen, ohne eine PSSession mit den Parametern ComputerName von Enter-PSSession oder Invoke-Command. Wenn Sie den Parameter ComputerName verwenden, erstellt PowerShell eine temporäre Verbindung, die für den Befehl verwendet wird und dann geschlossen wird.

Ab PowerShell 6.0 können Sie Secure Shell (SSH) verwenden, um eine Verbindung mit einem Remotecomputer herzustellen und eine Sitzung auf einem Remotecomputer zu erstellen, wenn SSH auf dem lokalen Computer verfügbar ist und der Remotecomputer mit einem PowerShell-SSH-Endpunkt konfiguriert ist. Der Vorteil einer SSH-basierten PowerShell-Remotesitzung besteht darin, dass sie auf mehreren Plattformen (Windows, Linux, macOS) funktionieren kann. Für SSH-basierte Sitzungen verwenden Sie den Parameter HostName oder SSHConnection , um den Remotecomputer und relevante Verbindungsinformationen anzugeben. Weitere Informationen zum Einrichten von PowerShell SSH-Remoting finden Sie unter PowerShell Remoting Over SSH.

Hinweis

Wenn Sie WSMan-Remoting von einem Linux- oder macOS-Client mit einem HTTPS-Endpunkt verwenden, auf dem das Serverzertifikat nicht vertrauenswürdig ist (z. B. ein selbstsigniertes Zertifikat). Sie müssen eine PSSessionOption bereitstellen, die die Werte "SkipCACheck" und "SkipCNCheck " enthält, die auf $true das erfolgreiche Herstellen der Verbindung festgelegt sind. Führen Sie dies nur aus, wenn Sie sich in einer Umgebung befinden, in der Sie sicher sein können, dass das Serverzertifikat und die Netzwerkverbindung mit dem Zielsystem besteht.

Beispiele

Beispiel 1: Erstellen einer Sitzung auf dem lokalen Computer

$s = New-PSSession

Dieser Befehl erstellt eine neue PSSession auf dem lokalen Computer und speichert die PSSession in der $s Variablen.

Sie können diese PSSession jetzt verwenden, um Befehle auf dem lokalen Computer auszuführen.

Beispiel 2: Erstellen einer Sitzung auf einem Remotecomputer

$Server01 = New-PSSession -ComputerName Server01

Mit diesem Befehl wird eine neue PSSession auf dem Server01-Computer erstellt und in der $Server01 Variablen gespeichert.

Wenn Sie mehrere PSSession-Objekte erstellen, weisen Sie diese Variablen mit nützlichen Namen zu. Dies wird Ihnen helfen, die PSSession-Objekte in nachfolgenden Befehlen zu verwalten.

Beispiel 3: Erstellen von Sitzungen auf mehreren Computern

$s1, $s2, $s3 = New-PSSession -ComputerName Server01, Server02, Server03

Mit diesem Befehl werden drei PSSession-Objekte erstellt, eines auf jedem der Computer, die durch den ComputerName-Parameter angegeben werden.

Der Befehl verwendet den Zuordnungsoperator (=) zum Zuweisen der neuen PSSession-Objekte zu Variablen: $s1, , . $s2$s3 Sie weist server01 PSSession$s1, der Server02 PSSession , $s2und der Server03 PSSession zu $s3.

Wenn Sie einer Reihe von Variablen mehrere Objekte zuweisen, weist PowerShell jedem Objekt eine Variable in der Datenreihe zu. Wenn es mehr Objekte als Variablen gibt, werden alle verbleibenden Objekte der letzten Variablen zugewiesen. Wenn mehr Variablen als Objekte vorhanden sind, sind die verbleibenden Variablen leer ($null).

Beispiel 4: Erstellen einer Sitzung mit einem angegebenen Port

New-PSSession -ComputerName Server01 -Port 8081 -UseSSL -ConfigurationName E12

Dieser Befehl erstellt eine neue PSSession auf dem Server01-Computer, die eine Verbindung mit dem Serverport 8081 herstellt und das SSL-Protokoll verwendet. Die neue PSSession verwendet eine alternative Sitzungskonfiguration namens E12.

Bevor Sie den Port festlegen, müssen Sie den WinRM-Listener auf dem Remotecomputer so konfigurieren, dass er an Port 8081 lauscht. Weitere Informationen finden Sie in der Beschreibung des Parameters Port .

Beispiel 5: Erstellen einer Sitzung basierend auf einer vorhandenen Sitzung

New-PSSession -Session $s -Credential Domain01\User01

Mit diesem Befehl wird eine PSSession mit den gleichen Eigenschaften wie eine vorhandene PSSession erstellt. Sie können dieses Befehlsformat verwenden, wenn die Ressourcen einer vorhandenen PSSession erschöpft sind und eine neue PSSession benötigt wird, um einen Teil des Bedarfs auszulagern.

Der Befehl verwendet den Session-Parameter, New-PSSession um die in der $s Variablen gespeicherte PSSession anzugeben. Er verwendet die Anmeldeinformationen des Domain1\Admin01 Benutzers, um den Befehl abzuschließen.

Beispiel 6: Erstellen einer Sitzung mit einem globalen Bereich in einer anderen Domäne

$Global:s = New-PSSession -ComputerName Server1.Domain44.Corpnet.Fabrikam.com -Credential Domain01\Admin01

In diesem Beispiel wird gezeigt, wie Sie eine PSSession mit einem globalen Bereich auf einem Computer in einer anderen Domäne erstellen.

Standardmäßig werden PSSession-Objekte , die in der Befehlszeile erstellt werden, mit lokalem Gültigkeitsbereich erstellt, und PSSession-Objekte , die in einem Skript erstellt werden, verfügen über einen Skriptbereich.

Um eine PSSession mit globalem Bereich zu erstellen, erstellen Sie eine neue PSSession , und speichern Sie die PSSession dann in einer Variablen, die in einen globalen Bereich umgewandelt wird. In diesem Fall wird die $s Variable in einen globalen Bereich umgegossen.

Der Befehl verwendet den ComputerName-Parameter , um den Remotecomputer anzugeben. Da sich der Computer in einer anderen Domäne als das Benutzerkonto befindet, wird der vollständige Name des Computers zusammen mit den Anmeldeinformationen des Benutzers angegeben.

Beispiel 7: Erstellen von Sitzungen für viele Computer

$rs = Get-Content C:\Test\Servers.txt | New-PSSession -ThrottleLimit 50

Dieser Befehl erstellt eine PSSession auf jedem der 200 Computer, die in der Servers.txt Datei aufgeführt sind, und speichert die resultierende PSSession in der $rs Variablen. Die PSSession-Objekte haben eine Drosselungsgrenze von 50.

Sie können dieses Befehlsformat verwenden, wenn die Namen von Computern in einer Datenbank, einer Tabelle, einer Textdatei oder einem anderen textkonvertierbaren Format gespeichert sind.

Beispiel 8: Erstellen einer Sitzung mithilfe eines URI

$s = New-PSSession -Uri http://Server01:91/NewSession -Credential Domain01\User01

Mit diesem Befehl wird eine PSSession auf dem Server01-Computer erstellt und in der $s Variablen gespeichert. Er verwendet den URI-Parameter , um das Transportprotokoll, den Remotecomputer, den Port und eine alternative Sitzungskonfiguration anzugeben. Außerdem wird der Parameter Credential verwendet, um ein Benutzerkonto anzugeben, das über die Berechtigung zum Erstellen einer Sitzung auf dem Remotecomputer verfügt.

Beispiel 9: Ausführen eines Hintergrundauftrags in einer Gruppe von Sitzungen

$s = New-PSSession -ComputerName (Get-Content Servers.txt) -Credential Domain01\Admin01 -ThrottleLimit 16
Invoke-Command -Session $s -ScriptBlock {Get-Process powershell} -AsJob

Mit diesen Befehlen wird ein Satz von PSSession-Objekten erstellt, und dann wird in jedem der PSSession-Objekte ein Hintergrundauftrag ausgeführt.

Der erste Befehl erstellt eine neue PSSession auf jedem der in der Servers.txt Datei aufgeführten Computer. Es verwendet das New-PSSession Cmdlet zum Erstellen der PSSession. Der Wert des Parameters ComputerName ist ein Befehl, der das Get-Content Cmdlet verwendet, um die Liste der Computernamen der Servers.txt Datei abzurufen.

Der Befehl verwendet den Parameter "Credential ", um die PSSession-Objekte zu erstellen, die über die Berechtigung eines Domänenadministrators verfügen, und der ThrottleLimit-Parameter verwendet, um den Befehl auf gleichzeitige Verbindungen zu 16 beschränken. Der Befehl speichert die PSSession-Objekte in der $s Variablen.

Der zweite Befehl verwendet den Parameter AsJob des Invoke-Command Cmdlets, um einen Hintergrundauftrag zu starten, der einen Get-Process powershell Befehl in jedem der PSSession-Objekte ausführt $s.

Weitere Informationen zu PowerShell-Hintergrundaufträgen finden Sie unter about_Jobs und about_Remote_Jobs.

Beispiel 10: Erstellen einer Sitzung für einen Computer mithilfe seines URI

New-PSSession -ConnectionURI https://management.exchangelabs.com/Management

Mit diesem Befehl wird ein PSSession-Objekt erstellt, das eine Verbindung mit einem Computer herstellt, der durch einen URI anstelle eines Computernamens angegeben wird.

Beispiel 11: Erstellen einer Sitzungsoption

$so = New-PSSessionOption -SkipCACheck
New-PSSession -ConnectionUri https://management.exchangelabs.com/Management -SessionOption $so -Credential Server01\Admin01

In diesem Beispiel wird gezeigt, wie Sie ein Sitzungsoptionsobjekt erstellen und den SessionOption-Parameter verwenden.

Der erste Befehl verwendet das New-PSSessionOption Cmdlet zum Erstellen einer Sitzungsoption. Das resultierende SessionOption-Objekt wird in der $so Variablen gespeichert.

Der zweite Befehl verwendet die Option in einer neuen Sitzung. Der Befehl verwendet das New-PSSession Cmdlet zum Erstellen einer neuen Sitzung. Der Wert des SessionOption-Parameters ist das SessionOption-Objekt in der $so Variablen.

Beispiel 12: Erstellen einer Sitzung mit SSH

New-PSSession -HostName UserA@LinuxServer01

In diesem Beispiel wird gezeigt, wie Sie eine neue PSSession mit Secure Shell (SSH) erstellen. Wenn SSH auf dem Remotecomputer zum Anfordern von Kennwörtern konfiguriert ist, erhalten Sie eine Kennwortaufforderung. Andernfalls müssen Sie die SSH-Schlüsselbasierte Benutzerauthentifizierung verwenden.

Beispiel 13: Erstellen einer Sitzung mit SSH und Angeben des Port- und Benutzerauthentifizierungsschlüssels

New-PSSession -HostName UserA@LinuxServer01:22 -KeyFilePath C:\<path>\userAKey_rsa

In diesem Beispiel wird gezeigt, wie Sie eine PSSession mit Secure Shell (SSH) erstellen. Er verwendet den Port-Parameter , um den zu verwendenden Port und den KeyFilePath-Parameter anzugeben, um einen RSA-Schlüssel anzugeben, der zum Identifizieren und Authentifizieren des Benutzers auf dem Remotecomputer verwendet wird.

Beispiel 14: Erstellen mehrerer Sitzungen mit SSH

$sshConnections = @(
    @{
          HostName    = 'WinServer1'
          UserName    = '___domain\userA'
          KeyFilePath = 'C:\Users\UserA\id_rsa'
    }
    @{
        HostName    = 'UserB@LinuxServer5'
        KeyFilePath = 'C:\UserB\<path>\id_rsa'
    }
)
New-PSSession -SSHConnection $sshConnections

In diesem Beispiel wird gezeigt, wie Sie mehrere Sitzungen mit Secure Shell (SSH) und dem Parametersatz SSHConnection erstellen. Der SSHConnection-Parameter verwendet ein Array von Hashtabellen, die Verbindungsinformationen für jede Sitzung enthalten. Beachten Sie, dass dieses Beispiel erfordert, dass die Ziel-Remotecomputer SSH konfiguriert haben, um die schlüsselbasierte Benutzerauthentifizierung zu unterstützen.

Beispiel 15: Erstellen einer neuen Sitzung mithilfe von SSH-Optionen

$options = @{
    Port=22
    User = 'UserB'
    Host = 'LinuxServer5'
}
New-PSSession -KeyFilePath '/Users/UserB/id_rsa' -Options $options

In diesem Beispiel wird gezeigt, wie Sie eine neue SSH-basierte Sitzung mit SSH-Optionen auf einem remote linux-basierten Computer erstellen. Der parameter Options akzeptiert eine Hashtabelle mit Werten, die als Optionen an den zugrunde liegenden ssh Befehl übergeben werden, der die Verbindung mit dem Remotesystem hergestellt hat.

Parameter

-AllowRedirection

Gibt an, dass dieses Cmdlet die Umleitung dieser Verbindung zu einem alternativen URI (Uniform Resource Identifier) zulässt.

Wenn Sie den parameter ConnectionURI verwenden, kann das Remoteziel eine Anweisung zurückgeben, um zu einem anderen URI umzuleiten. Standardmäßig leitet PowerShell keine Verbindungen um, Sie können diesen Parameter jedoch verwenden, um die Verbindung umzuleiten.

Sie können auch einschränken, wie oft die Verbindung umgeleitet wird, indem Sie den MaximumConnectionRedirectionCount Sitzungsoptionswert ändern. Verwenden Sie den MaximumRedirection Parameter des Cmdlets New-PSSessionOption, oder legen Sie die MaximumConnectionRedirectionCount Eigenschaft der $PSSessionOption Einstellungsvariable fest. Der Standardwert ist 5.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

Uri
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ApplicationName

Gibt das Anwendungsnamenssegment des Verbindungs-URI an. Verwenden Sie diesen Parameter, um den Anwendungsnamen anzugeben, wenn Sie den ConnectionURI-Parameter nicht im Befehl verwenden.

Der Standardwert ist der Wert der $PSSessionApplicationName Einstellungsvariable auf dem lokalen Computer. Wenn diese Einstellungsvariable nicht definiert ist, lautet WSMANder Standardwert . Dieser Wert ist für die meisten Verwendungen geeignet. Weitere Informationen finden Sie unter about_Preference_Variables.

Der WinRM-Dienst verwendet den Anwendungsnamen, um einen Listener zum Dienst der Verbindungsanforderung auszuwählen. Der Wert dieses Parameters sollte mit dem Wert der URLPrefix Eigenschaft eines Listeners auf dem Remotecomputer übereinstimmen.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ComputerName
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Authentication

Gibt den Mechanismus an, der zum Authentifizieren der Anmeldeinformationen des Benutzers verwendet wird. Die zulässigen Werte für diesen Parameter sind:

  • Default
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential

Der Standardwert ist Default.

Weitere Informationen zu den Werten dieses Parameters finden Sie unter AuthenticationMechanism Enumeration in MSDN.

Vorsicht

Credential Security Support Provider (CredSSP)-Authentifizierung, bei der die Benutzeranmeldeinformationen an einen Remotecomputer übergeben werden, der authentifiziert werden soll, ist für Befehle konzipiert, die eine Authentifizierung für mehrere Ressourcen erfordern, z. B. den Zugriff auf eine Remotenetzwerkfreigabe. Dieser Mechanismus erhöht das Sicherheitsrisiko des Remotevorgangs. Wenn der Remotecomputer kompromittiert ist, können die an ihn übergebenen Anmeldeinformationen zum Steuern der Netzwerksitzung verwendet werden.

Parametereigenschaften

Typ:AuthenticationMechanism
Standardwert:None
Zulässige Werte:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ComputerName
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
Uri
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-CertificateThumbprint

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. Geben Sie den Zertifikatfingerabdruck des Zertifikats ein.

Zertifikate werden in der zertifikatbasierten Clientauthentifizierung verwendet. Sie können nur lokalen Benutzerkonten zugeordnet werden; sie funktionieren nicht mit Domänenkonten.

Verwenden Sie zum Abrufen eines Zertifikats den Befehl oder Get-ChildItem den Get-Item Befehl im PowerShell-LaufwerkCert:.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ComputerName
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
Uri
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ComputerName

Gibt ein Array von Namen von Computern an. Mit diesem Cmdlet wird eine dauerhafte Verbindung (PSSession) mit dem angegebenen Computer erstellt. Wenn Sie mehrere Computernamen eingeben, New-PSSession werden für jeden Computer mehrere PSSession-Objekte erstellt. Der Standardwert ist der lokale Computer.

Geben Sie den NetBIOS-Namen, eine IP-Adresse oder einen vollqualifizierten Domänennamen eines oder mehrerer Remotecomputer ein. Um den lokalen Computer anzugeben, geben Sie den Computernamen, localhostoder einen Punkt (.) ein. Wenn sich der Computer in einer anderen Domäne als der Benutzer befindet, ist der vollqualifizierte Domänenname erforderlich. Sie können auch einen Computernamen in Anführungszeichen an New-PSSession.

Um eine IP-Adresse im Wert des ComputerName Parameters zu verwenden, muss der Befehl den parameter Credential enthalten. Außerdem muss der Computer für den HTTPS-Transport oder die IP-Adresse des Remotecomputers in der WinRM TrustedHosts-Liste auf dem lokalen Computer enthalten sein. Anweisungen zum Hinzufügen eines Computernamens zur Liste "TrustedHosts" finden Sie unter "How to Add a Computer to the Trusted Host List" in about_Remote_Troubleshooting.

Um den lokalen Computer in den Wert des Parameters "ComputerName " einzuschließen, starten Sie Windows PowerShell mithilfe der Option "Als Administrator ausführen".

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Cn

Parametersätze

ComputerName
Position:0
Obligatorisch.:False
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-ConfigurationName

Gibt die Sitzungskonfiguration an, die für die neue PSSession-verwendet wird.

Geben Sie einen Konfigurationsnamen oder den vollqualifizierten Ressourcen-URI für eine Sitzungskonfiguration ein. Wenn Sie nur den Konfigurationsnamen angeben, wird der folgende Schema-URI vorangestellt: http://schemas.microsoft.com/PowerShell.

Die Sitzungskonfiguration für eine Sitzung befindet sich auf dem Remotecomputer. Wenn die angegebene Sitzungskonfiguration auf dem Remotecomputer nicht vorhanden ist, schlägt der Befehl fehl.

Der Standardwert ist der Wert der $PSSessionConfigurationName Einstellungsvariable auf dem lokalen Computer. Wenn diese Einstellungsvariable nicht festgelegt ist, ist Microsoft.PowerShelldie Standardeinstellung . Weitere Informationen finden Sie unter about_Preference_Variables.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ComputerName
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
Uri
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
VMId
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
VMName
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
ContainerId
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-ConnectingTimeout

Gibt die Zeitspanne in Millisekunden an, die für die anfängliche SSH-Verbindung zulässig ist. Wenn die Verbindung nicht innerhalb des angegebenen Zeitraums abgeschlossen wird, wird ein Fehler zurückgegeben.

Dieser Parameter wurde in PowerShell 7.2 eingeführt.

Parametereigenschaften

Typ:Int32
Standardwert:unlimited
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SSHHost
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-ConnectionUri

Gibt einen URI an, der den Verbindungsendpunkt für die Sitzung definiert. Der URI muss vollständig qualifiziert sein. Das Format dieser Zeichenfolge lautet wie folgt:

<Transport>://<ComputerName>:<Port>/<ApplicationName>

Der Standardwert lautet wie folgt:

http://localhost:5985/WSMAN

Wenn Sie keinen ConnectionURI angeben, können Sie die Parameter UseSSL,ComputerName, Port und ApplicationName verwenden, um die ConnectionURI-Werte anzugeben.

Gültige Werte für das Transportsegment des URI sind HTTP und HTTPS. Wenn Sie einen Verbindungs-URI mit einem Transportsegment angeben, aber keinen Port angeben, wird die Sitzung mit Standardsports erstellt: 80 für HTTP und 443 für HTTPS. Um die Standardports für PowerShell-Remoting zu verwenden, geben Sie portieren 5985 für HTTP oder 5986 für HTTPS an.

Wenn der Zielcomputer die Verbindung zu einem anderen URI umleitet, verhindert PowerShell die Umleitung, es sei denn, Sie verwenden den AllowRedirection Parameter im Befehl.

Parametereigenschaften

Typ:

Uri[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:URI (Uniform Resource Identifier), CU

Parametersätze

Uri
Position:0
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-ContainerId

Gibt ein Array von IDs von Containern an. Dieses Cmdlet startet eine interaktive Sitzung mit jedem der angegebenen Container. Verwenden Sie den Befehl docker ps, um eine Liste der Container-IDs abzurufen. Weitere Informationen finden Sie in der Hilfe zum Docker ps-Befehl.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ContainerId
Position:Named
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Credential

Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Die Standardeinstellung ist der aktuelle Benutzer.

Geben Sie einen Benutzernamen ein, z. B. User01 oder Domain01\User01, oder geben Sie ein PSCredential--Objekt ein, das vom Cmdlet Get-Credential generiert wird. Wenn Sie einen Benutzernamen eingeben, werden Sie aufgefordert, das Kennwort einzugeben.

Anmeldeinformationen werden in einem PSCredential-Objekt gespeichert, und das Kennwort wird als SecureString-gespeichert.

Hinweis

Weitere Informationen zu SecureString Datenschutz finden Sie unter Wie sicher ist SecureString?.

Parametereigenschaften

Typ:PSCredential
Standardwert:Current user
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ComputerName
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
Uri
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
VMId
Position:Named
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False
VMName
Position:Named
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-EnableNetworkAccess

Gibt an, dass mit diesem Cmdlet ein interaktives Sicherheitstoken zu Loopbacksitzungen hinzugefügt wird. Mit dem interaktiven Token können Sie Befehle in der Loopbacksitzung ausführen, die Daten von anderen Computern abrufen. Sie können beispielsweise einen Befehl in der Sitzung ausführen, der XML-Dateien von einem Remotecomputer auf den lokalen Computer kopiert.

Eine Loopbacksitzung ist eine PSSession-, die auf demselben Computer stammt und endet. Um eine Loopbacksitzung zu erstellen, lassen Sie den ComputerName-Parameter aus, oder legen Sie den Wert auf Punkt (.), localhostoder den Namen des lokalen Computers fest.

Standardmäßig erstellt dieses Cmdlet Loopbacksitzungen mithilfe eines Netzwerktokens, das möglicherweise keine ausreichenden Berechtigungen für die Authentifizierung bei Remotecomputern bietet.

Der EnableNetworkAccess Parameter ist nur in Loopbacksitzungen wirksam. Wenn Sie EnableNetworkAccess verwenden, wenn Sie eine Sitzung auf einem Remotecomputer erstellen, wird der Befehl erfolgreich ausgeführt, der Parameter wird jedoch ignoriert.

Sie können den Remotezugriff auch in einer Loopbacksitzung aktivieren, indem Sie den CredSSP Wert des Authentifizierungsparameters verwenden, der die Sitzungsanmeldeinformationen an andere Computer delegiert.

Um den Computer vor böswilligem Zugriff zu schützen, können getrennte Loopbacksitzungen mit interaktiven Token, die mit dem Parameter EnableNetworkAccess erstellt wurden, nur von dem Computer aus wiederhergestellt werden, auf dem die Sitzung erstellt wurde. Getrennte Sitzungen, die die CredSSP-Authentifizierung verwenden, können von anderen Computern erneut verbunden werden. Weitere Informationen finden Sie unter Disconnect-PSSession.

Dieser Parameter wurde in PowerShell 3.0 eingeführt.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ComputerName
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
Uri
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
Session
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-HostName

Gibt ein Array von Computernamen für eine ssh-basierte Verbindung (Secure Shell) an. Dies ähnelt dem parameter ComputerName, mit der Ausnahme, dass die Verbindung mit dem Remotecomputer über SSH und nicht über Windows WinRM hergestellt wird.

Dieser Parameter wurde in PowerShell 6.0 eingeführt.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SSHHost
Position:0
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-KeyFilePath

Gibt einen Schlüsseldateipfad an, der von Secure Shell (SSH) zum Authentifizieren eines Benutzers auf einem Remotecomputer verwendet wird.

SSH ermöglicht es, die Benutzerauthentifizierung über private/öffentliche Schlüssel als Alternative zur grundlegenden Kennwortauthentifizierung durchzuführen. Wenn der Remotecomputer für die Schlüsselauthentifizierung konfiguriert ist, kann dieser Parameter verwendet werden, um den Schlüssel bereitzustellen, der den Benutzer identifiziert.

Dieser Parameter wurde in PowerShell 6.0 eingeführt.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:IdentityFilePath

Parametersätze

SSHHost
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Name

Gibt einen Anzeigenamen für die PSSession an.

Sie können den Namen verwenden, um auf die PSSession zu verweisen, wenn Sie andere Cmdlets verwenden, z Get-PSSession . B. und Enter-PSSession. Der Name muss nicht für den Computer oder die aktuelle Sitzung eindeutig sein.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Options

Gibt eine Hashtable von SSH-Optionen an, die beim Herstellen einer Verbindung mit einer Remote-SSH-basierten Sitzung verwendet werden. Mögliche Optionen sind alle Werte, die von der Unix-basierten Version des befehls ssh unterstützt werden.

Alle von Parametern explizit übergebenen Werte haben Vorrang vor Werten, die in der Options Hashtable übergeben werden. Wenn Sie beispielsweise den parameter Port verwenden, werden alle Port Schlüsselwertpaare außer Kraft gesetzt, die in der Options Hashtable übergeben werden.

Parametereigenschaften

Typ:Hashtable
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SSHHost
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Port

Gibt den Netzwerkport auf dem Remotecomputer an, der für diese Verbindung verwendet wird. Zum Herstellen einer Verbindung mit einem Remotecomputer muss der Remotecomputer den für die Verbindung verwendeten Port abhören. Die Standardports sind 5985, bei dem es sich um den WinRM-Port für HTTP handelt, und 5986, der WinRM-Port für HTTPS.

Bevor Sie einen anderen Port verwenden, müssen Sie den WinRM-Listener auf dem Remotecomputer so konfigurieren, dass er an diesem Port lauscht. Verwenden Sie die folgenden Befehle, um den Listener zu konfigurieren:

  1. winrm delete winrm/config/listener?Address=*+Transport=HTTP
  2. winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}

Verwenden Sie nicht den Parameter Port, es sei denn, Sie müssen. Die Porteinstellung im Befehl gilt für alle Computer oder Sitzungen, auf denen der Befehl ausgeführt wird. Eine alternative Porteinstellung kann verhindern, dass der Befehl auf allen Computern ausgeführt wird.

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ComputerName
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
SSHHost
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-RunAsAdministrator

Gibt an, dass die PSSession- als Administrator ausgeführt wird.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ContainerId
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Session

Gibt ein Array von PSSession-Objekten an, die von diesem Cmdlet als Modell für das neue PSSession verwendet werden. Mit diesem Parameter werden neue PSSession-Objekte erstellt, die die gleichen Eigenschaften wie die angegebenen PSSession-Objekte aufweisen.

Geben Sie eine Variable ein, die die PSSession-Objekte oder einen Befehl enthält, der die PSSession-Objekte erstellt oder abruft, z. B. ein New-PSSession oder Get-PSSession einen Befehl.

Die resultierenden PSSession-Objekte haben den gleichen Computernamen, Anwendungsnamen, Verbindungs-URI, Port, Konfigurationsnamen, Drosselungsgrenzwert und SSL-Wert (Secure Sockets Layer) wie die Originale, aber sie haben einen anderen Anzeigenamen, eine andere ID und eine andere Instanz-ID (GUID).

Parametereigenschaften

Typ:

PSSession[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

Session
Position:0
Obligatorisch.:False
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-SessionOption

Gibt erweiterte Optionen für die Sitzung an. Geben Sie ein SessionOption--Objekt ein, z. B. ein Objekt, das Sie mithilfe des Cmdlets New-PSSessionOption erstellen, oder eine Hashtabelle, in der es sich bei den Schlüsseln um Sitzungsoptionsnamen und die Werte um Sitzungsoptionswerte handelt.

Die Standardwerte für die Optionen werden durch den Wert der $PSSessionOption Einstellungsvariablen bestimmt, wenn sie festgelegt ist. Andernfalls werden die Standardwerte durch Optionen festgelegt, die in der Sitzungskonfiguration festgelegt sind.

Die Sitzungsoptionswerte haben Vorrang vor Standardwerten für Sitzungen, die in der einstellungsvariablen $PSSessionOption und in der Sitzungskonfiguration festgelegt sind. Sie haben jedoch keine Vorrang vor maximalen Werten, Kontingenten oder Grenzwerten, die in der Sitzungskonfiguration festgelegt sind.

Eine Beschreibung der Sitzungsoptionen, die die Standardwerte enthalten, finden Sie unter New-PSSessionOption. Informationen zur $PSSessionOption Einstellungsvariablen finden Sie unter about_Preference_Variables. Weitere Informationen zu Sitzungskonfigurationen finden Sie unter about_Session_Configurations.

Parametereigenschaften

Typ:PSSessionOption
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ComputerName
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
Uri
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-SSHConnection

Dieser Parameter verwendet ein Array von Hashtables, in dem jede Hashtable einen oder mehrere Verbindungsparameter enthält, die zum Herstellen einer SSH-Verbindung (HostName, Port, UserName, KeyFilePath) erforderlich sind.

Die Hashtable-Verbindungsparameter sind identisch mit der Definition für den SSHHost-Parametersatz .

Der parameter SSHConnection ist nützlich, um mehrere Sitzungen zu erstellen, bei denen jede Sitzung unterschiedliche Verbindungsinformationen benötigt.

Dieser Parameter wurde in PowerShell 6.0 eingeführt.

Parametereigenschaften

Typ:

Hashtable[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SSHHostHashParam
Position:Named
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-SSHTransport

Gibt an, dass die Remoteverbindung mit Secure Shell (SSH) hergestellt wird.

Standardmäßig verwendet PowerShell Windows WinRM, um eine Verbindung mit einem Remotecomputer herzustellen. Dieser Switch erzwingt PowerShell, den HostName-Parameter für die Einrichtung einer SSH-basierten Remoteverbindung zu verwenden.

Dieser Parameter wurde in PowerShell 6.0 eingeführt.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Zulässige Werte:true
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SSHHost
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Subsystem

Gibt das SSH-Subsystem an, das für das neue PSSession-verwendet wird.

Dies gibt das Subsystem an, das für das Ziel verwendet werden soll, wie in sshd_config. Das Subsystem startet eine bestimmte Version von PowerShell mit vordefinierten Parametern. Wenn das angegebene Subsystem nicht auf dem Remotecomputer vorhanden ist, schlägt der Befehl fehl.

Wenn dieser Parameter nicht verwendet wird, ist der Standardwert das powershell Subsystem.

Parametereigenschaften

Typ:String
Standardwert:powershell
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SSHHost
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-ThrottleLimit

Gibt die maximale Anzahl gleichzeitiger Verbindungen an, die zum Ausführen dieses Befehls eingerichtet werden können. Wenn Sie diesen Parameter weglassen oder einen Wert von 0 (Null) eingeben, wird der Standardwert 32verwendet.

Der Drosselungsgrenzwert gilt nur für den aktuellen Befehl, nicht für die Sitzung oder den Computer.

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ComputerName
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
Uri
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
VMId
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
VMName
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
Session
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False
ContainerId
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-UserName

Gibt den Benutzernamen für das Konto an, das zum Erstellen einer Sitzung auf dem Remotecomputer verwendet wird. Die Benutzerauthentifizierungsmethode hängt davon ab, wie Secure Shell (SSH) auf dem Remotecomputer konfiguriert ist.

Wenn SSH für die grundlegende Kennwortauthentifizierung konfiguriert ist, werden Sie zur Eingabe des Benutzerkennworts aufgefordert.

Wenn SSH für die schlüsselbasierte Benutzerauthentifizierung konfiguriert ist, kann über den KeyFilePath-Parameter ein Schlüsseldateipfad bereitgestellt werden, und Sie werden nicht zur Eingabe eines Kennworts aufgefordert. Beachten Sie, dass, wenn sich die Clientbenutzerschlüsseldatei an einem bekannten SSH-Speicherort befindet, der KeyFilePath-Parameter nicht für die schlüsselbasierte Authentifizierung erforderlich ist und die Benutzerauthentifizierung automatisch basierend auf dem Benutzernamen erfolgt. Weitere Informationen finden Sie in der SSH-Dokumentation zur schlüsselbasierten Benutzerauthentifizierung.

Dies ist kein erforderlicher Parameter. Wenn kein Parameter "UserName " angegeben ist, wird der aktuelle Benutzername für die Verbindung verwendet.

Dieser Parameter wurde in PowerShell 6.0 eingeführt.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SSHHost
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-UseSSL

Gibt an, dass dieses Cmdlet das SSL-Protokoll verwendet, um eine Verbindung mit dem Remotecomputer herzustellen. Standardmäßig wird SSL nicht verwendet.

WS-Management verschlüsselt alle über das Netzwerk übertragenen PowerShell-Inhalte. Der UseSSL-Parameter bietet einen zusätzlichen Schutz, der die Daten über eine HTTPS-Verbindung anstelle einer HTTP-Verbindung sendet.

Wenn Sie diesen Parameter verwenden, SSL jedoch nicht für den Port verfügbar ist, der für den Befehl verwendet wird, schlägt der Befehl fehl.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

ComputerName
Position:Named
Obligatorisch.:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-UseWindowsPowerShell

Erstellt eine Remoteverbindung mit einem neuen Windows PowerShell-Runspace im lokalen System.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

UseWindowsPowerShellParameterSet
Position:Named
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-VMId

Gibt ein Array von VIRTUELLEN Computer-IDs an. Dieses Cmdlet startet eine interaktive PowerShell-Direct-Sitzung mit jedem der angegebenen virtuellen Computer. Weitere Informationen finden Sie unter Automatisierung und Verwaltung virtueller Computer mithilfe von PowerShell.

Wird verwendet Get-VM , um die virtuellen Computer anzuzeigen, die auf Ihrem Hyper-V-Host verfügbar sind.

Parametereigenschaften

Typ:

Guid[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:VMGuid

Parametersätze

VMId
Position:0
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-VMName

Gibt ein Array von Namen virtueller Computer an. Dieses Cmdlet startet eine interaktive PowerShell-Direct-Sitzung mit jedem der angegebenen virtuellen Computer. Weitere Informationen finden Sie unter Automatisierung und Verwaltung virtueller Computer mithilfe von PowerShell.

Wird verwendet Get-VM , um die virtuellen Computer anzuzeigen, die auf Ihrem Hyper-V-Host verfügbar sind.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

VMName
Position:Named
Obligatorisch.:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

String

Sie können eine Zeichenfolge an dieses Cmdlet weiterleiten.

System.URI

Sie können einen URI an dieses Cmdlet weiterleiten.

PSSession

Sie können ein Sitzungsobjekt an dieses Cmdlet weiterleiten.

Ausgaben

PSSession

Hinweise

PowerShell enthält die folgenden Aliase für New-PSSession:

  • Alle Plattformen:

    • nsn
  • Dieses Cmdlet verwendet die PowerShell-Remotinginfrastruktur. Um dieses Cmdlet zu verwenden, müssen der lokale Computer und alle Remotecomputer für PowerShell-Remoting konfiguriert werden. Weitere Informationen finden Sie unter about_Remote_Requirements.

  • Um eine PSSession auf dem lokalen Computer zu erstellen, starten Sie PowerShell mit der Option "Als Administrator ausführen ".

  • Wenn Sie mit der PSSession fertig sind, verwenden Sie das Remove-PSSession Cmdlet, um die PSSession zu löschen und die zugehörigen Ressourcen freizugeben.

  • Die Parametersätze HostName und SSHConnection wurden ab PowerShell 6.0 eingeschlossen. Sie wurden hinzugefügt, um PowerShell-Remoting basierend auf Secure Shell (SSH) bereitzustellen. Sowohl SSH als auch PowerShell werden auf mehreren Plattformen unterstützt (Windows, Linux, macOS) und PowerShell-Remoting funktionieren über diese Plattformen, auf denen PowerShell und SSH installiert und konfiguriert sind. Dies unterscheidet sich von der vorherigen Nur-Windows-Remoting, die auf WinRM basiert, und viele der WinRM-spezifischen Features und Einschränkungen gelten nicht. WinRM-basierte Kontingente, Sitzungsoptionen, benutzerdefinierte Endpunktkonfiguration und Features zum Trennen/Erneutes Verbinden werden nicht unterstützt. Weitere Informationen zum Einrichten von PowerShell SSH-Remoting finden Sie unter PowerShell Remoting Over SSH.

Die ssh ausführbare Datei ruft Konfigurationsdaten aus den folgenden Quellen in der folgenden Reihenfolge ab:

  1. Befehlszeilenoptionen
  2. Konfigurationsdatei des Benutzers (~/.ssh/config)
  3. systemweite Konfigurationsdatei (/etc/ssh/ssh_config)

Die folgenden Cmdlet-Parameter werden ssh Parametern und Optionen zugeordnet:

Cmdlet-Parameter ssh-Parameter entspreche ssh--o-Option
-KeyFilePath -i <KeyFilePath> -o IdentityFile=<KeyFilePath>
-UserName -l <UserName> -o User=<UserName>
-Port -p <Port> -o Port=<Port>
-ComputerName -Subsystem -s <ComputerName> <Subsystem> -o Host=<ComputerName>

Alle von Parametern explizit übergebenen Werte haben Vorrang vor Werten, die in der Options Hashtable übergeben werden. Weitere Informationen zu ssh_config Dateien finden Sie unter ssh_config(5).