Delen via


Enter-PSSession

Start een interactieve sessie met een externe computer.

Syntaxis

ComputerName (Standaard)

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

SSHHost

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

Session

Enter-PSSession
    [[-Session] <PSSession>]
    [<CommonParameters>]

Uri

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

InstanceId

Enter-PSSession
    [-InstanceId <Guid>]
    [<CommonParameters>]

Id

Enter-PSSession
    [[-Id] <Int32>]
    [<CommonParameters>]

Name

Enter-PSSession
    [-Name <String>]
    [<CommonParameters>]

VMId

Enter-PSSession
    [-VMId] <Guid>
    [-Credential] <PSCredential>
    [-ConfigurationName <String>]
    [<CommonParameters>]

VMName

Enter-PSSession
    [-VMName] <String>
    [-Credential] <PSCredential>
    [-ConfigurationName <String>]
    [<CommonParameters>]

ContainerId

Enter-PSSession
    [-ContainerId] <String>
    [-ConfigurationName <String>]
    [-RunAsAdministrator]
    [<CommonParameters>]

Description

De cmdlet Enter-PSSession start een interactieve sessie met één externe computer. Tijdens de sessie worden de opdrachten die u typt, uitgevoerd op de externe computer, net zoals wanneer u rechtstreeks op de externe computer typt. U kunt slechts één interactieve sessie tegelijk hebben.

Normaal gesproken gebruikt u de parameter ComputerName om de naam van de externe computer op te geven. U kunt echter ook een sessie gebruiken die u maakt met behulp van de New-PSSession-cmdlet voor de interactieve sessie. U kunt de , Connect-PSSessionof Receive-PSSession cmdlets echter niet gebruiken om de Disconnect-PSSessionverbinding met een interactieve sessie te verbreken of opnieuw verbinding te maken.

Vanaf PowerShell 6.0 kunt u Secure Shell (SSH) gebruiken om verbinding te maken met een externe computer. U moet SSH hebben op de lokale computer en de externe computer moet worden geconfigureerd met een PowerShell SSH-eindpunt. Het voordeel van een externe PowerShell-sessie op basis van SSH is dat deze werkt op meerdere platforms (Windows, Linux, macOS). Voor externe communicatie op basis van SSH gebruikt u de parameter HostName die is ingesteld om de externe computer en relevante verbindingsgegevens op te geven. Zie Externe communicatie van PowerShell via SSH via SSHvoor meer informatie over het instellen van externe communicatie met PowerShell SSH.

Als u de interactieve sessie wilt beëindigen en de verbinding met de externe computer wilt verbreken, gebruikt u de cmdlet Exit-PSSession of typt u exit.

Belangrijk

Enter-PSSession is ontworpen om de huidige interactieve sessie te vervangen door een nieuwe interactieve externe sessie. U moet deze niet aanroepen vanuit een functie of script of door deze als opdracht door te geven aan het pwsh uitvoerbaar bestand.

Voorbeelden

Voorbeeld 1: Een interactieve sessie starten

PS> Enter-PSSession
[localhost]: PS>

Met deze opdracht start u een interactieve sessie op de lokale computer. De opdrachtprompt verandert om aan te geven dat u nu opdrachten uitvoert in een andere sessie.

De opdrachten die u invoert, worden uitgevoerd in de nieuwe sessie en de resultaten worden als tekst geretourneerd naar de standaardsessie.

Voorbeeld 2: Werken met een interactieve sessie

De eerste opdracht maakt gebruik van de Enter-PSSession cmdlet om een interactieve sessie te starten met Server01, een externe computer. Wanneer de sessie wordt gestart, verandert de opdrachtprompt om de computernaam op te nemen.

Met de tweede opdracht wordt het PowerShell-proces ophaalt en wordt de uitvoer omgeleid naar het Process.txt-bestand. De opdracht wordt verzonden naar de externe computer en het bestand wordt opgeslagen op de externe computer.

De derde opdracht gebruikt het exit trefwoord om de interactieve sessie te beëindigen en de verbinding te sluiten. Met de vierde opdracht wordt bevestigd dat het Process.txt bestand zich op de externe computer bevindt. Een Get-ChildItem opdracht (dir) op de lokale computer kan het bestand niet vinden.

PS C:\> Enter-PSSession -ComputerName Server01
[Server01]: PS C:\>
[Server01]: PS C:\> Get-Process powershell > C:\ps-test\Process.txt
[Server01]: PS C:\> exit
PS C:\>
PS C:\> dir C:\ps-test\Process.txt
Get-ChildItem : Cannot find path 'C:\ps-test\Process.txt' because it does not exist.
At line:1 char:4
+ dir <<<<  C:\ps-test\Process.txt

Deze opdracht laat zien hoe u in een interactieve sessie met een externe computer kunt werken.

Voorbeeld 3: de sessieparameter gebruiken

PS> $s = New-PSSession -ComputerName Server01
PS> Enter-PSSession -Session $s
[Server01]: PS>

Deze opdrachten gebruiken de parameter Session van Enter-PSSession om de interactieve sessie uit te voeren in een bestaande PowerShell-sessie (PSSession).

Voorbeeld 4: Een interactieve sessie starten en de poort- en referentieparameters opgeven

PS> Enter-PSSession -ComputerName Server01 -Port 90 -Credential Domain01\User01
[Server01]: PS>

Met deze opdracht start u een interactieve sessie met de Server01-computer. Hierbij wordt de parameter Port gebruikt om de poort en de parameter Credential op te geven om het account op te geven van een gebruiker die gemachtigd is om verbinding te maken met de externe computer.

Voorbeeld 5: Een interactieve sessie stoppen

PS> Enter-PSSession -ComputerName Server01
[Server01]: PS> Exit-PSSession
PS>

In dit voorbeeld ziet u hoe u een interactieve sessie start en stopt. De eerste opdracht maakt gebruik van de Enter-PSSession cmdlet om een interactieve sessie te starten met de Server01-computer.

De tweede opdracht maakt gebruik van de Exit-PSSession cmdlet om de sessie te beëindigen. U kunt ook het exit trefwoord gebruiken om de interactieve sessie te beëindigen. Exit-PSSession en exit hebben hetzelfde effect.

Voorbeeld 6: Een interactieve sessie starten met behulp van SSH

PS> Enter-PSSession -HostName UserA@LinuxServer01

In dit voorbeeld ziet u hoe u een interactieve sessie start met behulp van Secure Shell (SSH). Als SSH is geconfigureerd op de externe computer om wachtwoorden te gebruiken, wordt u gevraagd een wachtwoord in te voeren. Anders moet u verificatie op basis van sleutels gebruiken.

Voorbeeld 7: Een interactieve sessie starten met behulp van SSH met een poort- en gebruikersverificatiesleutel

PS> Enter-PSSession -HostName UserA@LinuxServer02:22 -KeyFilePath C:\sshkeys\userAKey_rsa

In dit voorbeeld ziet u hoe u een interactieve sessie start met behulp van SSH. De gebruikersnaam en het SSH-poortnummer worden opgegeven als onderdelen van de waarde van de parameter HostName . De parameter KeyFilePath geeft de locatie op van een RSA-sleutel die wordt gebruikt om de gebruiker op de externe computer te verifiëren.

Voorbeeld 8: Een interactieve sessie starten met behulp van SSH-opties

$options = @{
    Port=22
    User = 'UserA'
    Host = 'LinuxServer02'
}
Enter-PSSession -KeyFilePath C:\sshkeys\userAKey_rsa -Options $options

In dit voorbeeld ziet u hoe u een interactieve sessie start met behulp van SSH. De parameter Opties gebruikt een hashtabel met waarden die als opties worden doorgegeven aan de onderliggende ssh opdracht waarmee de verbinding met het externe systeem tot stand is gebracht.

Parameters

-AllowRedirection

Hiermee wordt omleiding van deze verbinding naar een alternatieve URI (Uniform Resource Identifier) toegestaan. Omleiding is standaard niet toegestaan.

Wanneer u de parameter ConnectionURI gebruikt, kan de externe bestemming een instructie retourneren om om te leiden naar een andere URI. PowerShell leidt standaard geen verbindingen om, maar u kunt deze parameter gebruiken om de verbinding om te leiden.

U kunt ook het aantal keren beperken dat de verbinding wordt omgeleid door de waarde van de MaximumConnectionRedirectionCount sessieoptie te wijzigen. Gebruik de parameter MaximumRedirection van de cmdlet New-PSSessionOption of stel de eigenschap MaximumConnectionRedirectionCount in van de $PSSessionOption voorkeursvariabele. De standaardwaarde is 5.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False

Parametersets

Uri
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-ApplicationName

Specificeert het toepassingsnaamsegment van de verbindings-URI. Gebruik deze parameter om de naam van de toepassing op te geven wanneer u de parameter ConnectionURI niet gebruikt in de opdracht.

De standaardwaarde is de waarde van de $PSSessionApplicationName voorkeursvariabele op de lokale computer. Als deze voorkeursvariabele niet is gedefinieerd, is de standaardwaarde WSMAN. Deze waarde is geschikt voor de meeste toepassingen. Zie about_Preference_Variablesvoor meer informatie.

De WinRM--service gebruikt de naam van de toepassing om een listener te selecteren om de verbindingsaanvraag te verwerken. De waarde van deze parameter moet overeenkomen met de waarde van de eigenschap URLPrefix van een listener op de externe computer.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Authentication

Hiermee geeft u het mechanisme op dat wordt gebruikt om de referenties van de gebruiker te verifiëren. De acceptabele waarden voor deze parameter zijn:

  • Verstek
  • Eenvoudig
  • Credssp
  • Samenvatting
  • Kerberos
  • Onderhandelen
  • OnderhandelenMetImplicieteReferentie

De standaardwaarde is Standaard.

CredSSP-verificatie is alleen beschikbaar in Windows Vista, Windows Server 2008 en latere versies van het Windows-besturingssysteem.

Zie AuthenticationMechanism Enumvoor meer informatie over de waarden van deze parameter.

Waarschuwing

CredSSP-verificatie (Credential Security Support Provider), waarbij de referenties van de gebruiker worden doorgegeven aan een externe computer die moet worden geverifieerd, is ontworpen voor opdrachten waarvoor verificatie is vereist voor meer dan één resource, zoals toegang tot een externe netwerkshare. Dit mechanisme verhoogt het beveiligingsrisico van de op afstand uitgevoerde bewerking. Als de externe computer is aangetast, kunnen de referenties die aan de computer worden doorgegeven, worden gebruikt om de netwerksessie te beheren.

Parametereigenschappen

Type:AuthenticationMechanism
Default value:None
Geaccepteerde waarden:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
Uri
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-CertificateThumbprint

Hiermee geeft u het certificaat van de digitale openbare sleutel (X509) van een gebruikersaccount dat gemachtigd is om deze actie uit te voeren. Voer de vingerafdruk van het certificaat in.

Certificaten worden gebruikt in verificatie op basis van clientcertificaten. Ze kunnen alleen worden toegewezen aan lokale gebruikersaccounts; ze werken niet met domeinaccounts.

Als u een certificaat wilt ophalen, gebruikt u de opdracht Get-Item of Get-ChildItem in het PowerShell-certificaat: station.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
Uri
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-ComputerName

Hiermee geeft u een computernaam. Met deze cmdlet wordt een interactieve sessie gestart met de opgegeven externe computer. Voer slechts één computernaam in. De standaardwaarde is de lokale computer.

Typ de NetBIOS-naam, het IP-adres of de volledig gekwalificeerde domeinnaam van de computer. U kunt ook een computernaam doorsluisen naar Enter-PSSession.

Als u een IP-adres wilt gebruiken in de waarde van de parameter ComputerName, moet de opdracht de parameter Credential bevatten. De computer moet ook worden geconfigureerd voor HTTPS-transport of het IP-adres van de externe computer moet worden opgenomen in de winRM TrustedHosts-lijst op de lokale computer. Zie 'How to Add a Computer to the Trusted Host List' (Een computer toevoegen aan de lijst met vertrouwde hosts) in about_Remote_Troubleshootingvoor instructies voor het toevoegen van een computernaam aan de lijst TrustedHosts.

Opmerking

Als u op het Windows-besturingssysteem de lokale computer wilt opnemen in de waarde van de parameter ComputerName, moet u PowerShell starten met de optie Als administrator uitvoeren.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Cn

Parametersets

ComputerName
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-ConfigurationName

Hiermee geeft u de sessieconfiguratie op die wordt gebruikt voor de interactieve sessie.

Voer een configuratienaam of de volledig gekwalificeerde resource-URI in voor een sessieconfiguratie. Als u alleen de configuratienaam opgeeft, wordt de volgende schema-URI voorafgegaan: http://schemas.microsoft.com/powershell.

Wanneer het wordt gebruikt met SSH, geeft dit het subsysteem op dat moet worden gebruikt voor het doel zoals gedefinieerd in sshd_config. De standaardwaarde voor SSH is het powershell subsysteem.

De sessieconfiguratie voor een sessie bevindt zich op de externe computer. Als de opgegeven sessieconfiguratie niet bestaat op de externe computer, mislukt de opdracht.

De standaardwaarde is de waarde van de $PSSessionConfigurationName voorkeursvariabele op de lokale computer. Als deze voorkeursvariabele niet is ingesteld, is microsoft.PowerShell de standaardinstelling. Zie about_Preference_Variablesvoor meer informatie.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
Uri
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
VMId
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
VMName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
ContainerId
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-ConnectingTimeout

Hiermee geeft u de hoeveelheid tijd in milliseconden op die is toegestaan voor de eerste SSH-verbinding. Als de verbinding niet binnen de opgegeven tijd is voltooid, wordt er een fout geretourneerd.

Deze parameter is geïntroduceerd in PowerShell 7.2

Parametereigenschappen

Type:Int32
Default value:unlimited
Ondersteunt jokertekens:False
DontShow:False

Parametersets

SSHHost
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-ConnectionUri

Hiermee geeft u een URI op waarmee het verbindingseindpunt voor de sessie wordt gedefinieerd. De URI moet volledig gekwalificeerd zijn. De notatie van deze tekenreeks is als volgt:

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

De standaardwaarde is als volgt:

http://localhost:5985/WSMAN

Als u geen ConnectionURI-opgeeft, kunt u de parameters UseSSL, ComputerName, Porten ApplicationName gebruiken om de ConnectionURI--waarden op te geven.

Geldige waarden voor het transportsegment van de URI zijn HTTP en HTTPS. Als u een verbindings-URI met een transportsegment opgeeft, maar geen poort opgeeft, wordt de sessie gemaakt met behulp van standaardenpoorten: 80 voor HTTP en 443 voor HTTPS. Als u de standaardpoorten voor externe communicatie met PowerShell wilt gebruiken, geeft u poort 5985 op voor HTTP of 5986 voor HTTPS.

Als de doelcomputer de verbinding omleidt naar een andere URI, voorkomt PowerShell de omleiding, tenzij u de AllowRedirection parameter in de opdracht gebruikt.

Parametereigenschappen

Type:Uri
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:URI (Uniform Resource Identifier), CU

Parametersets

Uri
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-ContainerId

Hiermee geeft u de id van een container.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ContainerId
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Credential

Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. De standaardwaarde is de huidige gebruiker.

Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential--object in dat is gegenereerd door de Get-Credential-cmdlet. Als u een gebruikersnaam typt, wordt u gevraagd het wachtwoord in te voeren.

Referenties worden opgeslagen in een PSCredential-object en het wachtwoord wordt opgeslagen als een SecureString.

Opmerking

Zie voor meer informatie over SecureString gegevensbeveiliging Hoe veilig is SecureString?.

Parametereigenschappen

Type:PSCredential
Default value:Current user
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ComputerName
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
Uri
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
VMId
Position:1
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False
VMName
Position:1
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-EnableNetworkAccess

Geeft aan dat deze cmdlet een interactief beveiligingstoken toevoegt aan loopbacksessies. Met het interactieve token kunt u opdrachten uitvoeren in de loopbacksessie waarmee gegevens van andere computers worden opgehaald. U kunt bijvoorbeeld een opdracht uitvoeren in de sessie waarmee XML-bestanden van een externe computer naar de lokale computer worden gekopieerd.

Een loopbacksessie is een PSSession- die afkomstig is en eindigt op dezelfde computer. Als u een loopbacksessie wilt maken, laat u de parameter ComputerName weg of stelt u de waarde ervan in op . (dot), localhost of de naam van de lokale computer.

Loopbacksessies worden standaard gemaakt met behulp van een netwerktoken, wat mogelijk onvoldoende machtigingen biedt voor verificatie bij externe computers.

De parameter EnableNetworkAccess is alleen van kracht in loopbacksessies. Als u EnableNetworkAccess gebruikt wanneer u een sessie op een externe computer maakt, slaagt de opdracht, maar wordt de parameter genegeerd.

U kunt ook externe toegang in een loopbacksessie toestaan met behulp van de CredSSP- waarde van de parameter Authentication, waarmee de sessiereferenties worden gedelegeerd aan andere computers.

Deze parameter is geïntroduceerd in Windows PowerShell 3.0.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
Uri
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-HostName

Hiermee geeft u een computernaam op voor een SSH-verbinding (Secure Shell). Dit is vergelijkbaar met de parameter ComputerName, behalve dat de verbinding met de externe computer wordt gemaakt met behulp van SSH in plaats van Windows WinRM. Deze parameter ondersteunt het opgeven van de gebruikersnaam en/of poort als onderdeel van de parameterwaarde HostName met behulp van het formulier user@hostname:port. De gebruikersnaam en/of poort die zijn opgegeven als onderdeel van de hostnaam hebben voorrang op de -UserName en -Port parameters, indien opgegeven. Hierdoor kunnen meerdere computernamen worden doorgegeven aan deze parameter waarbij sommige specifieke gebruikersnamen en/of poorten hebben, terwijl anderen de gebruikersnaam en/of poort van de -UserName en -Port parameters gebruiken.

Deze parameter is geïntroduceerd in PowerShell 6.0.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

SSHHost
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Id

Hiermee geeft u de id van een bestaande sessie. Enter-PSSession gebruikt de opgegeven sessie voor de interactieve sessie.

Gebruik de cmdlet Get-PSSession om de id van een sessie te vinden.

Parametereigenschappen

Type:Int32
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

Id
Position:0
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-InstanceId

Hiermee geeft u de exemplaar-id van een bestaande sessie. Enter-PSSession gebruikt de opgegeven sessie voor de interactieve sessie.

De exemplaar-id is een GUID. Gebruik de cmdlet Get-PSSession om de exemplaar-id van een sessie te vinden. U kunt ook de parameters Sessie, Naamof Id parameters gebruiken om een bestaande sessie op te geven. U kunt ook de parameter ComputerName gebruiken om een tijdelijke sessie te starten.

Parametereigenschappen

Type:Guid
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

InstanceId
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-KeyFilePath

Hiermee geeft u een sleutelbestandspad op dat wordt gebruikt door Secure Shell (SSH) om een gebruiker op een externe computer te verifiëren.

Met SSH kan gebruikersverificatie worden uitgevoerd via persoonlijke/openbare sleutels als alternatief voor basiswachtwoordverificatie. Als de externe computer is geconfigureerd voor sleutelverificatie, kan deze parameter worden gebruikt om de sleutel op te geven die de gebruiker identificeert.

Deze parameter is geïntroduceerd in PowerShell 6.0.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:IdentityFilePath

Parametersets

SSHHost
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Name

Hiermee geeft u de beschrijvende naam van een bestaande sessie. Enter-PSSession gebruikt de opgegeven sessie voor de interactieve sessie.

Als de naam die u opgeeft overeenkomt met meer dan één sessie, mislukt de opdracht. U kunt ook de parameters Session, InstanceIdof Id gebruiken om een bestaande sessie op te geven. U kunt ook de parameter ComputerName gebruiken om een tijdelijke sessie te starten.

Als u een beschrijvende naam wilt instellen voor een sessie, gebruikt u de parameter Name van de New-PSSession-cmdlet.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

Name
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Options

Hiermee geeft u een hashtabel op van SSH-opties die worden gebruikt bij het maken van verbinding met een externe SSH-sessie. De mogelijke opties zijn waarden die worden ondersteund door de Unix-versie van de opdracht ssh.

Alle waarden die expliciet door parameters worden doorgegeven, hebben voorrang op waarden die zijn doorgegeven in de Opties hashtabel. Als u bijvoorbeeld de parameter Poort gebruikt, worden alle Port sleutel-waardepaar dat is doorgegeven in de Opties hashtabel overschreven.

Parametereigenschappen

Type:Hashtable
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

SSHHost
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Port

Hiermee geeft u de netwerkpoort op de externe computer die wordt gebruikt voor deze opdracht.

In PowerShell 6.0 is deze parameter opgenomen in de hostnaamparameterset die SSH-verbindingen (Secure Shell) ondersteunt.

WinRM (computernaamparameterset)

Als u verbinding wilt maken met een externe computer, moet de externe computer luisteren op de poort die door de verbinding wordt gebruikt. De standaardpoorten zijn 5985, de WinRM-poort voor HTTP en 5986, de WinRM-poort voor HTTPS.

Voordat u een alternatieve poort gebruikt, moet u de WinRM-listener op de externe computer configureren om naar die poort te luisteren. Gebruik de volgende opdrachten om de listener te configureren:

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

Gebruik de parameter Port niet, tenzij u dit moet doen. De poortinstelling in de opdracht is van toepassing op alle computers of sessies waarop de opdracht wordt uitgevoerd. Een alternatieve poortinstelling kan verhinderen dat de opdracht wordt uitgevoerd op alle computers.

SSH (hostnaamparameterset)

Als u verbinding wilt maken met een externe computer, moet de externe computer worden geconfigureerd met de SSH-service (SSHD) en moet deze luisteren op de poort die door de verbinding wordt gebruikt. De standaardpoort voor SSH is 22.

Parametereigenschappen

Type:Int32
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
SSHHost
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-RunAsAdministrator

Geeft aan dat de PSSession- als beheerder wordt uitgevoerd.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ContainerId
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Session

Hiermee geeft u een PowerShell-sessie (PSSession) op die moet worden gebruikt voor de interactieve sessie. Deze parameter gebruikt een sessieobject. U kunt ook de parameters Name, InstanceIdof Id gebruiken om een PSSession-op te geven.

Voer een variabele in die een sessieobject of een opdracht bevat waarmee een sessieobject wordt gemaakt of opgehaald, zoals een New-PSSession of Get-PSSession opdracht. U kunt ook een sessieobject doorsluisen naar Enter-PSSession. U kunt slechts één PSSession- verzenden met behulp van deze parameter. Als u een variabele invoert die meer dan één PSSessionbevat, mislukt de opdracht.

Wanneer u Exit-PSSession of het trefwoord exit gebruikt, wordt de interactieve sessie beëindigd, maar blijft de PSSession die u hebt gemaakt geopend en beschikbaar voor gebruik.

Parametereigenschappen

Type:PSSession
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

Session
Position:0
Verplicht:False
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-SessionOption

Hiermee stelt u geavanceerde opties voor de sessie in. Voer een SessionOption--object in, zoals een object dat u maakt met behulp van de New-PSSessionOption-cmdlet of een hash-tabel waarin de sleutels namen van sessieopties zijn en de waarden sessieoptiewaarden zijn.

De standaardwaarden voor de opties worden bepaald door de waarde van de $PSSessionOption voorkeursvariabele, als deze is ingesteld. Anders worden de standaardwaarden ingesteld op basis van opties die zijn ingesteld in de sessieconfiguratie.

De waarden voor sessieopties hebben voorrang op standaardwaarden voor sessies die zijn ingesteld in de $PSSessionOption voorkeursvariabele en in de sessieconfiguratie. Ze hebben echter geen voorrang op maximumwaarden, quota of limieten die zijn ingesteld in de sessieconfiguratie.

Zie New-PSSessionOptionvoor een beschrijving van de sessieopties, inclusief de standaardwaarden. Zie $PSSessionOptionvoor meer informatie over de voorkeursvariabele. Zie about_Session_Configurationsvoor meer informatie over sessieconfiguraties.

Parametereigenschappen

Type:PSSessionOption
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
Uri
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-SSHTransport

Geeft aan dat de externe verbinding tot stand is gebracht met behulp van Secure Shell (SSH).

PowerShell maakt standaard gebruik van Windows WinRM om verbinding te maken met een externe computer. Deze schakeloptie dwingt PowerShell om de hostnaamparameterset te gebruiken voor het tot stand brengen van een externe verbinding op basis van SSH.

Deze parameter is geïntroduceerd in PowerShell 6.0.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Geaccepteerde waarden:true
Ondersteunt jokertekens:False
DontShow:False

Parametersets

SSHHost
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Subsystem

Hiermee geeft u het SSH-subsysteem gebruikt voor de nieuwe PSSession.

Hiermee geeft u het subsysteem op dat moet worden gebruikt voor het doel zoals gedefinieerd in sshd_config. Het subsysteem start een specifieke versie van PowerShell met vooraf gedefinieerde parameters. Als het opgegeven subsysteem niet bestaat op de externe computer, mislukt de opdracht.

Als deze parameter niet wordt gebruikt, is de standaardwaarde het powershell subsysteem.

Parametereigenschappen

Type:String
Default value:Powershell
Ondersteunt jokertekens:False
DontShow:False

Parametersets

SSHHost
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-UserName

Hiermee geeft u de gebruikersnaam voor het account dat wordt gebruikt voor het maken van een sessie op de externe computer. De verificatiemethode voor gebruikers is afhankelijk van hoe Secure Shell (SSH) is geconfigureerd op de externe computer.

Als SSH is geconfigureerd voor basiswachtwoordverificatie, wordt u gevraagd om het gebruikerswachtwoord.

Als SSH is geconfigureerd voor gebruikersverificatie op basis van sleutels, wordt uou niet om een wachtwoord gevraagd. U moet een pad naar een SSH-sleutelbestand opgeven. Als het gebruikerssleutelbestand zich op een bekende SSH-locatie bevindt, is de parameter KeyFilePath niet nodig. Gebruikersverificatie vindt automatisch plaats op basis van de gebruikersnaam. Zie de SSH-documentatie over gebruikersverificatie op basis van sleutels voor meer informatie.

Als de parameter UserName niet is opgegeven, wordt de huidige aangemelde gebruikersnaam gebruikt.

Deze parameter is geïntroduceerd in PowerShell 6.0.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

SSHHost
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-UseSSL

Geeft aan dat deze cmdlet gebruikmaakt van het SSL-protocol (Secure Sockets Layer) om een verbinding met de externe computer tot stand te brengen. SSL wordt standaard niet gebruikt.

WS-Management versleutelt alle PowerShell-inhoud die via het netwerk wordt verzonden. De parameter UseSSL is een extra beveiliging waarmee de gegevens via een HTTPS-verbinding worden verzonden in plaats van een HTTP-verbinding.

Als u deze parameter gebruikt, maar SSL niet beschikbaar is op de poort die voor de opdracht wordt gebruikt, mislukt de opdracht.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ComputerName
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-VMId

Hiermee geeft u de id van een virtuele machine.

Parametereigenschappen

Type:Guid
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:VMGuid

Parametersets

VMId
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-VMName

Hiermee geeft u de naam van een virtuele machine.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

VMName
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

String

U kunt een computernaam doorsluisen als een tekenreeks naar deze cmdlet.

PSSession

U kunt een sessieobject doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert geen uitvoer.

Notities

PowerShell bevat de volgende aliassen voor Enter-PSSession:

  • Alle platforms:
    • etsn

Als u verbinding wilt maken met een externe computer, moet u lid zijn van de groep Administrators op de externe computer. Als u een interactieve sessie op de lokale computer wilt starten, moet u PowerShell starten met de Als administrator uitvoeren optie.

Wanneer u Enter-PSSessiongebruikt, wordt uw gebruikersprofiel op de externe computer gebruikt voor de interactieve sessie. De opdrachten in het profiel voor externe gebruikers, inclusief opdrachten om PowerShell-modules toe te voegen en de opdrachtprompt te wijzigen, moet u uitvoeren voordat de externe prompt wordt weergegeven.

Enter-PSSession gebruikt de cultuurinstelling van de gebruikersinterface op de lokale computer voor de interactieve sessie. Gebruik de $UICulture automatische variabele om de lokale UI-cultuur te vinden.

Enter-PSSession vereist de cmdlets Get-Command, Out-Defaulten Exit-PSSession. Als deze cmdlets niet zijn opgenomen in de sessieconfiguratie op de externe computer, mislukt de Enter-PSSession opdrachten.

In tegenstelling tot Invoke-Command, die de opdrachten parseert en interpreteert voordat deze naar de externe computer worden verzonden, Enter-PSSession de opdrachten rechtstreeks naar de externe computer verzendt zonder interpretatie.

Als de sessie die u wilt invoeren bezig is met het verwerken van een opdracht, kan er een vertraging optreden voordat PowerShell reageert op de Enter-PSSession opdracht. U bent verbonden zodra de sessie beschikbaar is. Als u de opdracht Enter-PSSession wilt annuleren, drukt u op Ctrl+C-.

De hostnaamparameterset is opgenomen vanaf PowerShell 6.0. Het is toegevoegd om externe communicatie van PowerShell te bieden op basis van Secure Shell (SSH). SSH en PowerShell worden ondersteund op meerdere platforms (Windows, Linux, macOS) en externe communicatie van PowerShell via deze platforms waarop PowerShell en SSH zijn geïnstalleerd en geconfigureerd. Dit is gescheiden van de vorige windows alleen externe communicatie die is gebaseerd op WinRM en veel van de Specifieke WinRM-functies en -beperkingen zijn niet van toepassing. Op WinRM gebaseerde quota, sessieopties, aangepaste eindpuntconfiguratie en functies voor verbinding verbreken/opnieuw verbinden worden momenteel niet ondersteund. Zie Externe communicatie van PowerShell via SSH via SSHvoor meer informatie over het instellen van externe communicatie met PowerShell SSH.

Voorafgaand aan PowerShell 7.1 biedt externe communicatie via SSH geen ondersteuning voor externe sessies van de tweede hop. Deze mogelijkheid was beperkt tot sessies met behulp van WinRM. Met PowerShell 7.1 kunnen Enter-PSSession en Enter-PSHostProcess werken vanuit een interactieve externe sessie.

Het uitvoerbare ssh verkrijgt configuratiegegevens van de volgende bronnen in de volgende volgorde:

  1. opdrachtregelopties
  2. configuratiebestand van gebruiker (~/.ssh/config)
  3. configuratiebestand voor het hele systeem (/etc/ssh/ssh_config)

De volgende cmdlet-parameters worden toegewezen aan ssh parameters en opties:

Cmdlet-parameter ssh-parameter Equivalente ssh--o-optie
-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 waarden die expliciet door parameters worden doorgegeven, hebben voorrang op waarden die zijn doorgegeven in de Opties hashtabel. Zie ssh_configvoor meer informatie over bestanden.