Sdílet prostřednictvím


Enter-PSSession

Spustí interaktivní relaci se vzdáleným počítačem.

Syntax

Enter-PSSession
     [-ComputerName] <String>
     [-EnableNetworkAccess]
     [-Credential <PSCredential>]
     [-ConfigurationName <String>]
     [-Port <Int32>]
     [-UseSSL]
     [-ApplicationName <String>]
     [-SessionOption <PSSessionOption>]
     [-Authentication <AuthenticationMechanism>]
     [-CertificateThumbprint <String>]
     [<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

Rutina Enter-PSSession spustí interaktivní relaci s jedním vzdáleným počítačem. Během relace se příkazy, které zadáte na vzdáleném počítači, spouští stejně jako při psaní přímo na vzdáleném počítači. Najednou můžete mít jenom jednu interaktivní relaci.

K určení názvu vzdáleného počítače se obvykle používá parametr ComputerName . Můžete ale také použít relaci, kterou vytvoříte, pomocí rutiny New-PSSession pro interaktivní relaci. Nemůžete ale použít Disconnect-PSSessionrutiny Connect-PSSession, nebo Receive-PSSession k odpojení od interaktivní relace nebo k opětovnému připojení.

Chcete-li ukončit interaktivní relaci a odpojit se od vzdáleného počítače, použijte rutinu Exit-PSSession nebo zadejte exit.

Příklady

Příklad 1: Spuštění interaktivní relace

PS C:\> Enter-PSSession
[localhost]: PS C:\>

Tento příkaz spustí interaktivní relaci na místním počítači. Příkazový řádek se změní, aby značil, že teď spouštíte příkazy v jiné relaci.

Příkazy, které zadáte v nové relaci, se vrátí do výchozí relace jako text.

Příklad 2: Práce s interaktivní relací

První příkaz pomocí rutiny Enter-PSSession spustí interaktivní relaci se vzdáleným počítačem Server01. Po spuštění relace se příkazový řádek změní tak, aby zahrnoval název počítače.

Druhý příkaz získá proces PowerShellu a přesměruje výstup do Process.txt souboru. Příkaz se odešle do vzdáleného počítače a soubor se uloží do vzdáleného počítače.

Třetí příkaz pomocí klíčového slova Exit ukončí interaktivní relaci a ukončí připojení. Čtvrtý příkaz potvrdí, že soubor Process.txt je ve vzdáleném počítači. Příkaz Get-ChildItem ("dir") v místním počítači nemůže soubor najít.

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

Tento příkaz ukazuje, jak pracovat v interaktivní relaci se vzdáleným počítačem.

Příklad 3: Použití parametru Relace

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

Tyto příkazy používají parametr Enter-PSSession Relace ke spuštění interaktivní relace v existující relaci PowerShellu (PSSession).

Příklad 4: Spuštění interaktivní relace a zadání parametrů Port a Credential

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

Tento příkaz spustí interaktivní relaci s počítačem Se serverem 01. Pomocí parametru Port určí port a parametr Credential k určení účtu uživatele, který má oprávnění k připojení ke vzdálenému počítači.

Příklad 5: Zastavení interaktivní relace

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

Tento příklad ukazuje, jak spustit a zastavit interaktivní relaci. První příkaz použije rutinu Enter-PSSession ke spuštění interaktivní relace s počítačem Server01.

Druhý příkaz pomocí rutiny Exit-PSSession ukončí relaci. Interaktivní relaci můžete ukončit také pomocí klíčového slova Ukončit . Exit-PSSession a Exit mají stejný účinek.

Parametry

-AllowRedirection

Umožňuje přesměrování tohoto připojení na alternativní identifikátor URI (Uniform Resource Identifier). Ve výchozím nastavení není přesměrování povolené.

Pokud použijete parametr Připojení ionURI, vzdálený cíl může vrátit instrukce pro přesměrování na jiný identifikátor URI. PowerShell ve výchozím nastavení nesměruje připojení, ale pomocí tohoto parametru ho můžete přesměrovat.

Počet přesměrování připojení můžete také omezit změnou hodnoty parametru relace Maximum Připojení ionRedirectionCount. Použijte parametr MaximumRedirection rutiny New-PSSessionOption nebo nastavte Vlastnost $PSSessionOption Maximum Připojení ionRedirectionCount proměnné předvolby. Výchozí hodnota je 5.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationName

Určuje segment názvu aplikace identifikátoru URI připojení. Tento parametr použijte k určení názvu aplikace, pokud v příkazu nepoužíváte parametr Připojení ionURI.

Výchozí hodnota je hodnota $PSSessionApplicationName proměnné předvoleb v místním počítači. Pokud tato proměnná předvoleb není definována, výchozí hodnota je WSMAN. Tato hodnota je vhodná pro většinu použití. Další informace najdete v tématu about_Preference_Variables.

Služba WinRM používá název aplikace k výběru naslouchacího procesu pro službu žádosti o připojení. Hodnota tohoto parametru by se měla shodovat s hodnotou vlastnosti URLPrefix naslouchacího procesu ve vzdáleném počítači.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Authentication

Určuje mechanismus, který se používá k ověření přihlašovacích údajů uživatele. Tento parametr přijímá tyto hodnoty:

  • Výchozí
  • Basic
  • Credssp
  • Digest
  • Kerberos
  • Vyjednávat
  • NegotiateWithImplicitCredential

Výchozí hodnota je Default.

Ověřování CredSSP je k dispozici pouze v systémech Windows Vista, Windows Server 2008 a novějších verzích operačního systému Windows.

Další informace o hodnotách tohoto parametru naleznete v tématu AuthenticationMechanism Enum.

Upozornění

Ověřování zprostředkovatele podpory zabezpečení přihlašovacích údajů (CredSSP), ve kterém jsou přihlašovací údaje uživatele předány vzdálenému počítači, který se má ověřit, je určený pro příkazy, které vyžadují ověření u více než jednoho prostředku, například pro přístup ke vzdálené síťové sdílené složce. Tento mechanismus zvyšuje riziko zabezpečení vzdálené operace. Pokud dojde k ohrožení zabezpečení vzdáleného počítače, dají se k řízení síťové relace použít přihlašovací údaje, které jsou mu předány.

Type:AuthenticationMechanism
Accepted values:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

Určuje certifikát digitálního veřejného klíče (X509) uživatelského účtu, který má oprávnění k provedení této akce. Zadejte kryptografický otisk certifikátu.

Certifikáty se používají při ověřování na základě klientských certifikátů. Mohou být mapovány pouze na místní uživatelské účty; nefungují s doménovými účty.

Certifikát získáte pomocí Get-Item příkazu nebo Get-ChildItem certifikátu v jednotce PowerShell Cert:

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Určuje název počítače. Tato rutina spustí interaktivní relaci se zadaným vzdáleným počítačem. Zadejte pouze jeden název počítače. Ve výchozím nastavení je to místní počítač.

Zadejte název netBIOS, IP adresu nebo plně kvalifikovaný název domény počítače. Můžete také převést název počítače na Enter-PSSession.

Pokud chcete použít IP adresu v hodnotě parametru ComputerName , musí příkaz obsahovat parametr Credential . Počítač musí být také nakonfigurovaný pro přenos HTTPS nebo musí být IP adresa vzdáleného počítače zahrnuta do seznamu Důvěryhodných hostitelů WinRM na místním počítači. Pokyny k přidání názvu počítače do seznamu TrustedHosts najdete v části Postup přidání počítače do seznamu důvěryhodných hostitelů v about_Remote_Troubleshooting.

Poznámka:

Pokud chcete zahrnout místní počítač do hodnoty parametru ComputerName , musíte v operačním systému Windows spustit PowerShell s možností Spustit jako správce.

Type:String
Aliases:Cn
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ConfigurationName

Určuje konfiguraci relace, která se používá pro interaktivní relaci.

Zadejte název konfigurace nebo plně kvalifikovaný identifikátor URI prostředku pro konfiguraci relace. Pokud zadáte pouze název konfigurace, před tomuto identifikátoru URI schématu: http://schemas.microsoft.com/powershell

Konfigurace relace relace se nachází ve vzdáleném počítači. Pokud zadaná konfigurace relace ve vzdáleném počítači neexistuje, příkaz selže.

Výchozí hodnota je hodnota $PSSessionConfigurationName proměnné předvoleb v místním počítači. Pokud tato proměnná předvoleb není nastavená, výchozí hodnota je Microsoft.PowerShell. Další informace najdete v tématu about_Preference_Variables.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ConnectionUri

Určuje identifikátor URI, který definuje koncový bod připojení pro relaci. Identifikátor URI musí být plně kvalifikovaný. Formát tohoto řetězce je následující:

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

Výchozí hodnota je následující:

http://localhost:5985/WSMAN

Pokud nezadáte Připojení ionURI, můžete k určení hodnot Připojení ionURI použít parametry UseSSL, ComputerName, Port a ApplicationName.

Platné hodnoty pro segment přenosu identifikátoru URI jsou HTTP a HTTPS. Pokud zadáte identifikátor URI připojení s přenosovým segmentem, ale nezadáte port, relace se vytvoří pomocí standardních portů: 80 pro HTTP a 443 pro HTTPS. Pokud chcete použít výchozí porty pro vzdálené komunikace PowerShellu, zadejte port 5985 pro HTTP nebo 5986 pro HTTPS.

Pokud cílový počítač přesměruje připojení na jiný identifikátor URI, PowerShell zabrání přesměrování, pokud v příkazu nepoužijete parametr AllowRedirection .

Type:Uri
Aliases:URI, CU
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ContainerId

Určuje ID kontejneru.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Credential

Určuje uživatelský účet, který má oprávnění k provedení této akce. Ve výchozím nastavení je to aktuální uživatel.

Zadejte uživatelské jméno, například User01 nebo Domain01\User01, nebo zadejte objekt PSCredential vygenerovaný rutinouGet-Credential. Pokud zadáte uživatelské jméno, zobrazí se výzva k zadání hesla.

Přihlašovací údaje jsou uloženy v objektu PSCredential a heslo je uloženo jako SecureString.

Poznámka:

Další informace o ochraně dat SecureString naleznete v tématu Jak zabezpečený je SecureString?.

Type:PSCredential
Position:1
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnableNetworkAccess

Označuje, že tato rutina přidá interaktivní token zabezpečení do relací zpětné smyčky. Interaktivní token umožňuje spouštět příkazy v relaci zpětné smyčky, které získávají data z jiných počítačů. Můžete například spustit příkaz v relaci, která kopíruje soubory XML ze vzdáleného počítače do místního počítače.

Relace zpětné smyčky je relace PSSession , která pochází a končí na stejném počítači. Chcete-li vytvořit relaci zpětné smyčky, vynecháte parametr ComputerName nebo nastavte jeho hodnotu na . (dot), localhost nebo název místního počítače.

Ve výchozím nastavení se relace zpětné smyčky vytvářejí pomocí síťového tokenu, který nemusí poskytovat dostatečná oprávnění k ověření ve vzdálených počítačích.

Parametr EnableNetworkAccess je efektivní pouze v relacích zpětné smyčky. Pokud při vytváření relace ve vzdáleném počítači použijete EnableNetworkAccess , příkaz bude úspěšný, ale parametr bude ignorován.

Vzdálený přístup v relaci zpětné smyčky můžete povolit také pomocí hodnoty CredSSP parametru Ověřování, který deleguje přihlašovací údaje relace na jiné počítače.

Tento parametr byl představen ve Windows PowerShellu 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Určuje ID existující relace. Enter-PSSession používá zadanou relaci pro interaktivní relaci.

K vyhledání ID relace použijte rutinu Get-PSSession .

Type:Int32
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-InstanceId

Určuje ID instance existující relace. Enter-PSSession používá zadanou relaci pro interaktivní relaci.

ID instance je identifikátor GUID. K vyhledání ID instance relace použijte rutinu Get-PSSession . K určení existující relace můžete použít také parametry Relace, Název nebo ID . Nebo můžete použít parametr ComputerName ke spuštění dočasné relace.

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Určuje popisný název existující relace. Enter-PSSession používá zadanou relaci pro interaktivní relaci.

Pokud zadaný název odpovídá více než jedné relaci, příkaz selže. K určení existující relace můžete použít také parametry Session, InstanceID nebo ID . Nebo můžete použít parametr ComputerName ke spuštění dočasné relace.

Pokud chcete vytvořit popisný název relace, použijte parametr Name rutiny New-PSSession .

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Port

Určuje síťový port na vzdáleném počítači, který se používá pro tento příkaz. Pokud se chcete připojit ke vzdálenému počítači, musí vzdálený počítač naslouchat na portu, který připojení používá. Výchozí porty jsou 5985, což je port WinRM pro HTTP a 5986, což je port WinRM pro HTTPS.

Před použitím alternativního portu musíte nakonfigurovat naslouchací proces WinRM na vzdáleném počítači tak, aby naslouchal na tomto portu. Ke konfiguraci naslouchacího procesu použijte následující příkazy:

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

Parametr Port nepoužívejte, pokud ho nepotřebujete. Nastavení portu v příkazu platí pro všechny počítače nebo relace, na kterých se příkaz spouští. Alternativní nastavení portu může zabránit spuštění příkazu na všech počítačích.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RunAsAdministrator

Označuje, že psSession běží jako správce.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Session

Určuje relaci Prostředí Windows PowerShell (PSSession), která se má použít pro interaktivní relaci. Tento parametr přebírá objekt relace. K určení psSession můžete také použít parametry Name, InstanceID nebo ID.

Zadejte proměnnou obsahující objekt relace nebo příkaz, který vytvoří nebo získá objekt relace, například New-PSSession příkaz.Get-PSSession Objekt relace můžete také připojit k Enter-PSSessionobjektu relace . Pomocí tohoto parametru můžete odeslat pouze jednu instanci PSSession . Pokud zadáte proměnnou, která obsahuje více než jednu psSession, příkaz selže.

Když použijete Exit-PSSession klíčové slovo EXIT, interaktivní relace skončí, ale relace PSSession, kterou jste vytvořili, zůstane otevřená a dostupná pro použití.

Type:PSSession
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SessionOption

Nastaví upřesňující možnosti relace. Zadejte objekt SessionOption, například objekt, který vytvoříte pomocí New-PSSessionOption rutiny, nebo tabulku hash, ve které jsou klíče názvy možností relace a hodnoty jsou hodnoty možností relace.

Výchozí hodnoty pro možnosti jsou určeny hodnotou $PSSessionOption proměnné předvoleb, pokud je nastavena. V opačném případě se výchozí hodnoty vytvoří pomocí možností nastavených v konfiguraci relace.

Hodnoty možností relace mají přednost před výchozími hodnotami pro relace nastavené v $PSSessionOption proměnné předvoleb a v konfiguraci relace. Nemají však přednost před maximálními hodnotami, kvótami nebo limity nastavenými v konfiguraci relace.

Popis možností relace, včetně výchozích hodnot, naleznete v tématu New-PSSessionOption. Informace o $PSSessionOption proměnné předvoleb najdete v tématu about_Preference_Variables. Další informace o konfiguracích relace najdete v tématu about_Session_Configurations.

Type:PSSessionOption
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseSSL

Označuje, že tato rutina používá protokol SSL (Secure Sockets Layer) k navázání připojení ke vzdálenému počítači. Ve výchozím nastavení se ssl nepoužívá.

Ws-Management šifruje veškerý obsah Windows PowerShellu přenášený přes síť. Parametr UseSSL je dodatečná ochrana, která odesílá data přes připojení HTTPS místo připojení HTTP.

Pokud použijete tento parametr, ale protokol SSL není k dispozici na portu použitém pro příkaz, příkaz selže.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMId

Určuje ID virtuálního počítače.

Type:Guid
Aliases:VMGuid
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VMName

Určuje název virtuálního počítače.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Vstupy

String

Název počítače můžete do této rutiny převést jako řetězec.

PSSession

K této rutině můžete připojit objekt relace.

Výstupy

None

Tato rutina nevrátí žádný výstup.

Poznámky

Windows PowerShell obsahuje následující aliasy pro Enter-PSSession:

  • etsn

Pokud se chcete připojit ke vzdálenému počítači, musíte být členem skupiny Správa istrators na vzdáleném počítači. Pokud chcete spustit interaktivní relaci na místním počítači, musíte spustit PowerShell s možností Spustit jako správce .

Při použití Enter-PSSessionse profil uživatele na vzdáleném počítači používá pro interaktivní relaci. Příkazy ve vzdáleném profilu uživatele, včetně příkazů pro přidání modulů PowerShellu a změny příkazového řádku, se spustí před zobrazením vzdáleného řádku.

Enter-PSSession používá nastavení jazykové verze uživatelského rozhraní v místním počítači pro interaktivní relaci. Pokud chcete najít místní jazykovou verzi uživatelského rozhraní, použijte automatickou proměnnou $UICulture .

Enter-PSSession vyžaduje rutiny Get-Command, Out-Defaulta Exit-PSSession rutiny. Pokud tyto rutiny nejsou součástí konfigurace relace ve vzdáleném počítači, příkazy selžou Enter-PSSession .

Na rozdíl od Invoke-Commandtoho, co analyzuje a interpretuje příkazy před jejich odesláním do vzdáleného počítače, Enter-PSSession odešle příkazy přímo do vzdáleného počítače bez interpretace.

Pokud je relace, kterou chcete zadat, zaneprázdněna zpracováním příkazu, může dojít ke zpoždění, než PowerShell na příkaz odpoví Enter-PSSession . Budete připojeni, jakmile bude relace k dispozici. Pokud chcete příkaz zrušitEnter-PSSession, stiskněte ctrl+C.