Enter-PSSession

Startar en interaktiv session med en fjärrdator.

Syntax

Enter-PSSession
     [-ComputerName] <String>
     [-EnableNetworkAccess]
     [[-Credential] <PSCredential>]
     [-ConfigurationName <String>]
     [-Port <Int32>]
     [-UseSSL]
     [-ApplicationName <String>]
     [-SessionOption <PSSessionOption>]
     [-Authentication <AuthenticationMechanism>]
     [-CertificateThumbprint <String>]
     [<CommonParameters>]
Enter-PSSession
     [-HostName] <String>
     [-Options <Hashtable>]
     [-Port <Int32>]
     [-UserName <String>]
     [-KeyFilePath <String>]
     [-Subsystem <String>]
     [-ConnectingTimeout <Int32>]
     [-SSHTransport]
     [<CommonParameters>]
Enter-PSSession
     [[-Session] <PSSession>]
     [<CommonParameters>]
Enter-PSSession
     [[-ConnectionUri] <Uri>]
     [-EnableNetworkAccess]
     [[-Credential] <PSCredential>]
     [-ConfigurationName <String>]
     [-AllowRedirection]
     [-SessionOption <PSSessionOption>]
     [-Authentication <AuthenticationMechanism>]
     [-CertificateThumbprint <String>]
     [<CommonParameters>]
Enter-PSSession
     [-InstanceId <Guid>]
     [<CommonParameters>]
Enter-PSSession
     [[-Id] <Int32>]
     [<CommonParameters>]
Enter-PSSession
     [-Name <String>]
     [<CommonParameters>]
Enter-PSSession
     [-VMId] <Guid>
     [-Credential] <PSCredential>
     [-ConfigurationName <String>]
     [<CommonParameters>]
Enter-PSSession
     [-VMName] <String>
     [-Credential] <PSCredential>
     [-ConfigurationName <String>]
     [<CommonParameters>]
Enter-PSSession
     [-ContainerId] <String>
     [-ConfigurationName <String>]
     [-RunAsAdministrator]
     [<CommonParameters>]

Description

Cmdleten Enter-PSSession startar en interaktiv session med en enda fjärrdator. Under sessionen körs de kommandon som du skriver på fjärrdatorn, precis som om du skrev direkt på fjärrdatorn. Du kan bara ha en interaktiv session i taget.

Vanligtvis använder du parametern ComputerName för att ange namnet på fjärrdatorn. Du kan dock också använda en session som du skapar med hjälp av cmdleten New-PSSession för den interaktiva sessionen. Du kan dock inte använda Disconnect-PSSessioncmdletarna , Connect-PSSessioneller Receive-PSSession för att koppla från eller återansluta till en interaktiv session.

Från och med PowerShell 6.0 kan du använda Secure Shell (SSH) för att upprätta en anslutning till en fjärrdator. Du måste ha SSH på den lokala datorn och fjärrdatorn måste konfigureras med en PowerShell SSH-slutpunkt. Fördelen med en SSH-baserad PowerShell-fjärrsession är att den fungerar på flera plattformar (Windows, Linux, macOS). För SSH-baserad fjärrkommunikation använder du parameteruppsättningen HostName för att ange fjärrdatorn och relevant anslutningsinformation. Mer information om hur du konfigurerar PowerShell SSH-fjärrkommunikation finns i PowerShell-fjärrkommunikation via SSH.

Om du vill avsluta den interaktiva sessionen och koppla från fjärrdatorn använder du cmdleten Exit-PSSession eller skriver exit.

Viktigt!

Enter-PSSession är utformad för att ersätta den aktuella interaktiva sessionen med en ny interaktiv fjärrsession. Du bör inte anropa den inifrån en funktion eller ett skript eller genom att skicka den som ett kommando till den pwsh körbara filen.

Exempel

Exempel 1: Starta en interaktiv session

PS> Enter-PSSession
[localhost]: PS>

Det här kommandot startar en interaktiv session på den lokala datorn. Kommandotolken ändras för att indikera att du nu kör kommandon i en annan session.

De kommandon som du anger körs i den nya sessionen och resultatet returneras till standardsessionen som text.

Exempel 2: Arbeta med en interaktiv session

Det första kommandot använder cmdleten Enter-PSSession för att starta en interaktiv session med Server01, en fjärrdator. När sessionen startar ändras kommandotolken så att namnet på datorn inkluderas.

Det andra kommandot hämtar PowerShell-processen och omdirigerar utdata till Process.txt filen. Kommandot skickas till fjärrdatorn och filen sparas på fjärrdatorn.

Det tredje kommandot använder nyckelordet Avsluta för att avsluta den interaktiva sessionen och stänga anslutningen. Det fjärde kommandot bekräftar att filen Process.txt finns på fjärrdatorn. Det Get-ChildItem går inte att hitta filen med kommandot ("dir") på den lokala datorn.

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

Det här kommandot visar hur du arbetar i en interaktiv session med en fjärrdator.

Exempel 3: Använd sessionsparametern

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

Dessa kommandon använder sessionsparametern Enter-PSSession för för att köra den interaktiva sessionen i en befintlig PowerShell-session (PSSession).

Exempel 4: Starta en interaktiv session och ange parametrarna Port och autentiseringsuppgifter

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

Det här kommandot startar en interaktiv session med Server01-datorn. Den använder portparametern för att ange porten och parametern Credential för att ange kontot för en användare som har behörighet att ansluta till fjärrdatorn.

Exempel 5: Stoppa en interaktiv session

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

Det här exemplet visar hur du startar och stoppar en interaktiv session. Det första kommandot använder cmdleten Enter-PSSession för att starta en interaktiv session med Server01-datorn.

Det andra kommandot använder cmdleten Exit-PSSession för att avsluta sessionen. Du kan också använda nyckelordet Avsluta för att avsluta den interaktiva sessionen. Exit-PSSession och Avsluta har samma effekt.

Exempel 6: Starta en interaktiv session med SSH

PS> Enter-PSSession -HostName UserA@LinuxServer01

Det här exemplet visar hur du startar en interaktiv session med Secure Shell (SSH). Om SSH har konfigurerats på fjärrdatorn för att använda lösenord uppmanas du att ange ett lösenord. Annars måste du använda nyckelbaserad användarautentisering.

Exempel 7: Starta en interaktiv session med hjälp av SSH med en port och en användarautentiseringsnyckel

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

Det här exemplet visar hur du startar en interaktiv session med hjälp av SSH. Användarnamnet och SSH-portnumret anges som delar av värdet för parametern HostName . Parametern KeyFilePath anger platsen för en RSA-nyckel som används för att autentisera användaren på fjärrdatorn.

Exempel 8: Starta en interaktiv session med SSH-alternativ

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

Det här exemplet visar hur du startar en interaktiv session med hjälp av SSH. Parametern Alternativ tar en hashtabell med värden som skickas som alternativ till det underliggande ssh kommandot den etablerade anslutningen till fjärrsystemet.

Parametrar

-AllowRedirection

Tillåter omdirigering av den här anslutningen till en alternativ URI (Uniform Resource Identifier). Som standard tillåts inte omdirigering.

När du använder parametern ConnectionURI kan fjärrmålet returnera en instruktion för att omdirigera till en annan URI. Som standard omdirigerar Inte PowerShell anslutningar, men du kan använda den här parametern för att tillåta att den omdirigerar anslutningen.

Du kan också begränsa antalet gånger anslutningen omdirigeras genom att ändra sessionsalternativvärdet MaximumConnectionRedirectionCount . Använd parametern MaximumRedirection för cmdleten New-PSSessionOption eller ange egenskapen MaximumConnectionRedirectionCount för inställningsvariabeln$PSSessionOption. Standardvärdet är 5.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ApplicationName

Anger programnamnssegmentet för anslutnings-URI:n. Använd den här parametern för att ange programnamnet när du inte använder parametern ConnectionURI i kommandot .

Standardvärdet är värdet för $PSSessionApplicationName inställningsvariabeln på den lokala datorn. Om den här inställningsvariabeln inte har definierats är standardvärdet WSMAN. Det här värdet är lämpligt för de flesta användningsområden. Mer information finns i about_Preference_Variables.

WinRM-tjänsten använder programnamnet för att välja en lyssnare som ska betjäna anslutningsbegäran. Värdet för den här parametern ska matcha värdet för egenskapen URLPrefix för en lyssnare på fjärrdatorn.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Authentication

Anger den mekanism som används för att autentisera användarens autentiseringsuppgifter. De acceptabla värdena för den här parametern är:

  • Standardvärde
  • Grundläggande
  • Credssp
  • Smälta
  • Kerberos
  • Förhandla
  • NegotiateWithImplicitCredential

Standardvärdet är Standard.

CredSSP-autentisering är endast tillgängligt i Windows Vista, Windows Server 2008 och senare versioner av Windows-operativsystemet.

Mer information om värdena för den här parametern finns i AuthenticationMechanism Enum.

Varning

CredSSP-autentisering (CredSSP), där användarens autentiseringsuppgifter skickas till en fjärrdator som ska autentiseras, är utformad för kommandon som kräver autentisering på mer än en resurs, till exempel åtkomst till en fjärrnätverksresurs. Den här mekanismen ökar säkerhetsrisken för fjärråtgärden. Om fjärrdatorn komprometteras kan de autentiseringsuppgifter som skickas till den användas för att styra nätverkssessionen.

Typ:AuthenticationMechanism
Godkända värden:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-CertificateThumbprint

Anger det digitala offentliga nyckelcertifikatet (X509) för ett användarkonto som har behörighet att utföra den här åtgärden. Ange certifikatets tumavtryck.

Certifikat används i klientcertifikatbaserad autentisering. De kan endast mappas till lokala användarkonton. de fungerar inte med domänkonton.

Om du vill hämta ett certifikat använder du Get-Item kommandot eller Get-ChildItem i PowerShell Cert:-enheten.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ComputerName

Anger ett datornamn. Den här cmdleten startar en interaktiv session med den angivna fjärrdatorn. Ange bara ett datornamn. Standard är den lokala datorn.

Ange NetBIOS-namnet, IP-adressen eller datorns fullständigt kvalificerade domännamn. Du kan också skicka ett datornamn till Enter-PSSession.

Om du vill använda en IP-adress i värdet för parametern ComputerName måste kommandot innehålla parametern Credential . Dessutom måste datorn konfigureras för HTTPS-transport, annars måste IP-adressen för fjärrdatorn ingå i WinRM TrustedHosts-listan på den lokala datorn. Anvisningar för hur du lägger till ett datornamn i listan TrustedHosts finns i "Så här lägger du till en dator i listan över betrodda värdar" i about_Remote_Troubleshooting.

Kommentar

Om du vill inkludera den lokala datorn i värdet för parametern ComputerName i Windows-operativsystemet måste du starta PowerShell med alternativet Kör som administratör.

Typ:String
Alias:Cn
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-ConfigurationName

Anger sessionskonfigurationen som används för den interaktiva sessionen.

Ange ett konfigurationsnamn eller den fullständigt kvalificerade resurs-URI:n för en sessionskonfiguration. Om du bara anger konfigurationsnamnet förbereds följande schema-URI: http://schemas.microsoft.com/powershell.

När det används med SSH anger detta det undersystem som ska användas på målet enligt definitionen i sshd_config. Standardvärdet för SSH är powershell undersystemet.

Sessionskonfigurationen för en session finns på fjärrdatorn. Om den angivna sessionskonfigurationen inte finns på fjärrdatorn misslyckas kommandot.

Standardvärdet är värdet för $PSSessionConfigurationName inställningsvariabeln på den lokala datorn. Om den här inställningsvariabeln inte har angetts är standardvärdet Microsoft.PowerShell. Mer information finns i about_Preference_Variables.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-ConnectingTimeout

Anger hur lång tid i millisekunder som tillåts för den första SSH-anslutningen att slutföras. Om anslutningen inte slutförs inom den angivna tiden returneras ett fel.

Den här parametern introducerades i PowerShell 7.2

Typ:Int32
Position:Named
Standardvärde:unlimited
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ConnectionUri

Anger en URI som definierar anslutningsslutpunkten för sessionen. URI:n måste vara fullständigt kvalificerad. Formatet för den här strängen är följande:

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

Standardvärdet är följande:

http://localhost:5985/WSMAN

Om du inte anger en ConnectionURI kan du använda parametrarna UseSSL, ComputerName, Port och ApplicationName för att ange ConnectionURI-värdena .

Giltiga värden för transportsegmentet för URI:n är HTTP och HTTPS. Om du anger en anslutnings-URI med ett transportsegment, men inte anger någon port, skapas sessionen med hjälp av standardportarna: 80 för HTTP och 443 för HTTPS. Om du vill använda standardportarna för PowerShell-fjärrkommunikation anger du port 5985 för HTTP eller 5986 för HTTPS.

Om måldatorn omdirigerar anslutningen till en annan URI förhindrar PowerShell omdirigeringen om du inte använder parametern AllowRedirection i kommandot.

Typ:Uri
Alias:URI, CU
Position:1
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-ContainerId

Anger ID för en container.

Typ:String
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Credential

Anger ett användarkonto som har behörighet att utföra den här åtgärden. Standard är den aktuella användaren.

Ange ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett PSCredential-objekt som genereras av cmdleten Get-Credential . Om du skriver ett användarnamn uppmanas du att ange lösenordet.

Autentiseringsuppgifter lagras i ett PSCredential-objekt och lösenordet lagras som en SecureString.

Kommentar

Mer information om SecureString-dataskydd finns i Hur säker är SecureString?.

Typ:PSCredential
Position:1
Standardvärde:Current user
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-EnableNetworkAccess

Anger att den här cmdleten lägger till en interaktiv säkerhetstoken till loopback-sessioner. Med den interaktiva token kan du köra kommandon i loopback-sessionen som hämtar data från andra datorer. Du kan till exempel köra ett kommando i sessionen som kopierar XML-filer från en fjärrdator till den lokala datorn.

En loopback-session är en PSSession som kommer från och slutar på samma dator. Om du vill skapa en loopback-session utelämnar du parametern ComputerName eller anger dess värde till . (punkt), localhost eller namnet på den lokala datorn.

Som standard skapas loopback-sessioner med hjälp av en nätverkstoken, vilket kanske inte ger tillräcklig behörighet för att autentisera till fjärrdatorer.

Parametern EnableNetworkAccess gäller endast i loopback-sessioner. Om du använder EnableNetworkAccess när du skapar en session på en fjärrdator lyckas kommandot, men parametern ignoreras.

Du kan också tillåta fjärråtkomst i en loopback-session med hjälp av CredSSP-värdet för parametern Authentication , som delegerar sessionsautentiseringsuppgifterna till andra datorer.

Den här parametern introducerades i Windows PowerShell 3.0.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-HostName

Anger ett datornamn för en SSH-baserad anslutning (Secure Shell). Detta liknar parametern ComputerName förutom att anslutningen till fjärrdatorn görs med hjälp av SSH i stället för Windows WinRM. Den här parametern har stöd för att ange användarnamnet och/eller porten som en del av parametervärdet för värdnamnet med hjälp av formuläret user@hostname:port. Användarnamnet och/eller porten som anges som en del av värdnamnet har företräde framför parametrarna och-Port, om det -UserName anges. Detta gör det möjligt att skicka flera datornamn till den här parametern där vissa har specifika användarnamn och/eller portar, medan andra använder användarnamnet och/eller porten från parametrarna -UserName och -Port .

Den här parametern introducerades i PowerShell 6.0.

Typ:String
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Id

Anger ID för en befintlig session. Enter-PSSession använder den angivna sessionen för den interaktiva sessionen.

Använd cmdleten för att hitta ID:t för Get-PSSession en session.

Typ:Int32
Position:0
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-InstanceId

Anger instans-ID för en befintlig session. Enter-PSSession använder den angivna sessionen för den interaktiva sessionen.

Instans-ID:t är ett GUID. Använd cmdleten för att hitta instans-ID:t för Get-PSSession en session. Du kan också använda parametrarna Session, Name eller ID för att ange en befintlig session. Du kan också använda parametern ComputerName för att starta en tillfällig session.

Typ:Guid
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-KeyFilePath

Anger en nyckelfilsökväg som används av Secure Shell (SSH) för att autentisera en användare på en fjärrdator.

Med SSH kan användarautentisering utföras via privata/offentliga nycklar som ett alternativ till grundläggande lösenordsautentisering. Om fjärrdatorn har konfigurerats för nyckelautentisering kan den här parametern användas för att ange den nyckel som identifierar användaren.

Den här parametern introducerades i PowerShell 6.0.

Typ:String
Alias:IdentityFilePath
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Name

Anger det egna namnet på en befintlig session. Enter-PSSession använder den angivna sessionen för den interaktiva sessionen.

Om namnet som du anger matchar mer än en session misslyckas kommandot. Du kan också använda parametrarna Session, InstanceID eller ID för att ange en befintlig session. Du kan också använda parametern ComputerName för att starta en tillfällig session.

Om du vill upprätta ett eget namn för en session använder du parametern Namn för cmdleten New-PSSession .

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Options

Anger en hashtabell med SSH-alternativ som används vid anslutning till en fjärr-SSH-baserad session. De möjliga alternativen är alla värden som stöds av den Unix-baserade versionen av ssh-kommandot .

Alla värden som uttryckligen skickas av parametrar har företräde framför värden som skickas i hashtabellen Alternativ . Om du till exempel använder portparametern åsidosätts alla Port nyckel/värde-par som skickas i hashtabellen Alternativ .

Typ:Hashtable
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Port

Anger nätverksporten på fjärrdatorn som används för det här kommandot.

I PowerShell 6.0 inkluderades den här parametern i parameteruppsättningen HostName som stöder SSH-anslutningar (Secure Shell).

WinRM (Parameteruppsättning för ComputerName)

Om du vill ansluta till en fjärrdator måste fjärrdatorn lyssna på porten som anslutningen använder. Standardportarna är 5985, som är WinRM-porten för HTTP och 5986, som är WinRM-porten för HTTPS.

Innan du använder en alternativ port måste du konfigurera WinRM-lyssnaren på fjärrdatorn så att den lyssnar på den porten. Använd följande kommandon för att konfigurera lyssnaren:

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

Använd inte portparametern om du inte måste. Portinställningen i kommandot gäller för alla datorer eller sessioner där kommandot körs. En alternativ portinställning kan förhindra att kommandot körs på alla datorer.

SSH (Parameteruppsättning för HostName)

För att ansluta till en fjärrdator måste fjärrdatorn konfigureras med SSH-tjänsten (SSHD) och måste lyssna på porten som anslutningen använder. Standardporten för SSH är 22.

Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-RunAsAdministrator

Anger att PSSession körs som administratör.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Session

Anger en PowerShell-session (PSSession) som ska användas för den interaktiva sessionen. Den här parametern tar ett sessionsobjekt. Du kan också använda parametrarna Namn, InstanceID eller ID för att ange en PSSession.

Ange en variabel som innehåller ett sessionsobjekt eller ett kommando som skapar eller hämtar ett sessionsobjekt, till exempel ett New-PSSession eller Get-PSSession ett kommando. Du kan också skicka ett sessionsobjekt till Enter-PSSession. Du kan bara skicka en PSSession med hjälp av den här parametern. Om du anger en variabel som innehåller mer än en PSSession misslyckas kommandot.

När du använder Exit-PSSession eller nyckelordet EXIT avslutas den interaktiva sessionen, men pssessionen som du skapade förblir öppen och tillgänglig för användning.

Typ:PSSession
Position:0
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-SessionOption

Anger avancerade alternativ för sessionen. Ange ett SessionOption-objekt , till exempel ett objekt som du skapar med hjälp av cmdleten New-PSSessionOption eller en hash-tabell där nycklarna är sessionsalternativnamn och värdena är sessionsalternativvärden.

Standardvärdena för alternativen bestäms av värdet för $PSSessionOption inställningsvariabeln, om den har angetts. Annars upprättas standardvärdena av de alternativ som anges i sessionskonfigurationen.

Sessionsalternativvärdena har företräde framför standardvärden för sessioner som anges i inställningsvariabeln $PSSessionOption och i sessionskonfigurationen. De har dock inte företräde framför de högsta värden, kvoter eller gränser som anges i sessionskonfigurationen.

En beskrivning av sessionsalternativen, inklusive standardvärdena, finns i New-PSSessionOption. Information om inställningsvariabeln finns i $PSSessionOption about_Preference_Variables. För ytterligare information om sessionskonfigurationer, se about_Session_Configurations.

Typ:PSSessionOption
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-SSHTransport

Anger att fjärranslutningen upprättas med hjälp av Secure Shell (SSH).

Som standard använder PowerShell Windows WinRM för att ansluta till en fjärrdator. Den här växeln tvingar PowerShell att använda parameteruppsättningen HostName för att upprätta en SSH-baserad fjärranslutning.

Den här parametern introducerades i PowerShell 6.0.

Typ:SwitchParameter
Godkända värden:true
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Subsystem

Anger det SSH-undersystem som används för den nya PSSessionen.

Detta anger det undersystem som ska användas på målet enligt definitionen i sshd_config. Undersystemet startar en specifik version av PowerShell med fördefinierade parametrar. Om det angivna undersystemet inte finns på fjärrdatorn misslyckas kommandot.

Om den här parametern inte används är powershell standardvärdet undersystemet.

Typ:String
Position:Named
Standardvärde:Powershell
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-UserName

Anger användarnamnet för det konto som används för att skapa en session på fjärrdatorn. Användarautentiseringsmetoden beror på hur Secure Shell (SSH) konfigureras på fjärrdatorn.

Om SSH har konfigurerats för grundläggande lösenordsautentisering uppmanas du att ange användarlösenordet.

Om SSH har konfigurerats för nyckelbaserad användarautentisering uppmanas uou inte att ange något lösenord. Du måste ange en sökväg till en SSH-nyckelfil. Om användarnyckelfilen finns på en känd SSH-plats behövs inte parametern KeyFilePath . Användarautentisering sker automatiskt baserat på användarnamnet. Mer information finns i SSH-dokumentationen om nyckelbaserad användarautentisering.

Om parametern UserName inte har angetts används det aktuella inloggade användarnamnet.

Den här parametern introducerades i PowerShell 6.0.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-UseSSL

Anger att denna cmdlet använder SSL-protokollet (Secure Sockets Layer) för att upprätta en anslutning till fjärrdatorn. Som standard används inte SSL.

WS-Management krypterar allt PowerShell-innehåll som överförs via nätverket. Parametern UseSSL är ett ytterligare skydd som skickar data över en HTTPS-anslutning i stället för en HTTP-anslutning.

Om du använder den här parametern, men SSL inte är tillgängligt på porten som används för kommandot, misslyckas kommandot.

Typ:SwitchParameter
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-VMId

Anger ID för en virtuell dator.

Typ:Guid
Alias:VMGuid
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-VMName

Anger namnet på en virtuell dator.

Typ:String
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

Indata

String

Du kan skicka ett datornamn som en sträng till den här cmdleten.

PSSession

Du kan skicka ett sessionsobjekt till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga utdata.

Kommentarer

PowerShell innehåller följande alias för Enter-PSSession:

  • Alla plattformar:
    • etsn

Om du vill ansluta till en fjärrdator måste du vara medlem i gruppen Administratörer på fjärrdatorn. Om du vill starta en interaktiv session på den lokala datorn måste du starta PowerShell med alternativet Kör som administratör .

När du använder Enter-PSSessionanvänds användarprofilen på fjärrdatorn för den interaktiva sessionen. Kommandona i fjärranvändarprofilen, inklusive kommandon för att lägga till PowerShell-moduler och ändra kommandotolken, kör innan fjärrprompten visas.

Enter-PSSession använder UI-kulturinställningen på den lokala datorn för den interaktiva sessionen. Använd den automatiska variabeln för att hitta den lokala användargränssnittskulturen $UICulture .

Enter-PSSessionGet-Commandkräver cmdletarna , Out-Defaultoch Exit-PSSession . Om dessa cmdletar inte ingår i sessionskonfigurationen på fjärrdatorn misslyckas Enter-PSSession kommandona.

Till skillnad från Invoke-Command, som parsar och tolkar kommandona innan de skickas till fjärrdatorn, Enter-PSSession skickar kommandona direkt till fjärrdatorn utan tolkning.

Om den session som du vill ange är upptagen med att bearbeta ett kommando kan det uppstå en fördröjning innan PowerShell svarar på Enter-PSSession kommandot. Du är ansluten så snart sessionen är tillgänglig. Tryck på CTRL+C om Enter-PSSession du vill avbryta kommandot.

Parameteruppsättningen HostName inkluderades från och med PowerShell 6.0. Det lades till för att tillhandahålla PowerShell-fjärrkommunikation baserat på Secure Shell (SSH). Både SSH och PowerShell stöds på flera plattformar (Windows, Linux, macOS) och PowerShell-fjärrkommunikation fungerar på dessa plattformar där PowerShell och SSH installeras och konfigureras. Detta är skilt från den tidigare Windows-fjärrkommunikationen som baseras på WinRM och mycket av De WinRM-specifika funktionerna och begränsningarna gäller inte. WinRM-baserade kvoter, sessionsalternativ, anpassad slutpunktskonfiguration och funktioner för frånkoppling/återanslutning stöds för närvarande inte. Mer information om hur du konfigurerar PowerShell SSH-fjärrkommunikation finns i PowerShell-fjärrkommunikation via SSH.

Före PowerShell 7.1 hade fjärrkommunikation via SSH inte stöd för fjärrsessioner med andra hopp. Den här funktionen var begränsad till sessioner med WinRM. PowerShell 7.1 tillåter Enter-PSSession och Enter-PSHostProcess fungerar inifrån alla interaktiva fjärrsessioner.

Den ssh körbara filen hämtar konfigurationsdata från följande källor i följande ordning:

  1. kommandoradsalternativ
  2. användarens konfigurationsfil (~/.ssh/config)
  3. systemomfattande konfigurationsfil (/etc/ssh/ssh_config)

Följande cmdlet-parametrar mappas till ssh parametrar och alternativ:

Cmdlet-parameter ssh-parameter motsvarande ssh -o-alternativ
-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>

Alla värden som uttryckligen skickas av parametrar har företräde framför värden som skickas i hashtabellen Alternativ . Mer information om ssh_config filer finns i ssh_config(5).