Enter-PSSession
Spustí interaktivní relaci se vzdáleným počítačem.
Syntaxe
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-PSSession
rutiny 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
.
Důležité
Enter-PSSession
je navržen tak, aby nahradila aktuální interaktivní relaci novou interaktivní vzdálenou relací. Neměli byste ho volat z funkce nebo skriptu ani jeho předáním jako příkazu do spustitelného powershell.exe
souboru.
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 ConnectionURI , 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.
Můžete také omezit počet přesměrování připojení změnou hodnoty parametru relace MaximumConnectionRedirectionCount . Použijte parametr New-PSSessionOption
MaximumRedirection rutiny nebo nastavte Vlastnost $PSSessionOption
MaximumConnectionRedirectionCount proměnné předvolby. Výchozí hodnota je 5.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ApplicationName
Určuje segment názvu aplikace identifikátoru URI připojení. Tento parametr použijte k zadání názvu aplikace, pokud v příkazu nepoužíváte parametr ConnectionURI .
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.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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
- Trávit
- 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.
Typ: | AuthenticationMechanism |
Přípustné hodnoty: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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:
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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.
Typ: | String |
Aliasy: | Cn |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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 connectionURI, můžete k zadání hodnot ConnectionURI 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 .
Typ: | Uri |
Aliasy: | URI, CU |
Position: | 1 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-ContainerId
Určuje ID kontejneru.
Typ: | String |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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?.
Typ: | PSCredential |
Position: | 1 |
Default value: | Current user |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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
.
Typ: | Int32 |
Position: | 0 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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.
Typ: | Guid |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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
.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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:
winrm delete winrm/config/listener?Address=*+Transport=HTTP
winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
Nepoužívejte parametr Port , 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.
Typ: | Int32 |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-RunAsAdministrator
Označuje, že psSession běží jako správce.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Session
Určuje relaci PowerShellu (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-PSSession
objektu 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í.
Typ: | PSSession |
Position: | 0 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | 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.
Typ: | PSSessionOption |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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 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 ssl není k dispozici na portu použitém pro příkaz, příkaz selže.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-VMId
Určuje ID virtuálního počítače.
Typ: | Guid |
Aliasy: | VMGuid |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-VMName
Určuje název virtuálního počítače.
Typ: | String |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
Vstupy
Název počítače můžete do této rutiny převést jako řetězec.
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 Administrators 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-PSSession
se 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-Default
a Exit-PSSession
rutiny. Pokud tyto rutiny nejsou součástí konfigurace relace ve vzdáleném počítači, Enter-PSSession
příkazy se nezdaří.
Na rozdíl od Invoke-Command
toho, 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.