Receive-PSSession
Získá výsledky příkazů v odpojených relacích.
Syntax
Session (Výchozí)
Receive-PSSession
[-Session] <PSSession>
[-OutTarget <OutTarget>]
[-JobName <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Id
Receive-PSSession
[-Id] <Int32>
[-OutTarget <OutTarget>]
[-JobName <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ComputerSessionName
Receive-PSSession
[-ComputerName] <String>
-Name <String>
[-ApplicationName <String>]
[-ConfigurationName <String>]
[-OutTarget <OutTarget>]
[-JobName <String>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-SessionOption <PSSessionOption>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ComputerInstanceId
Receive-PSSession
[-ComputerName] <String>
-InstanceId <Guid>
[-ApplicationName <String>]
[-ConfigurationName <String>]
[-OutTarget <OutTarget>]
[-JobName <String>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-Port <Int32>]
[-UseSSL]
[-SessionOption <PSSessionOption>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ConnectionUriInstanceId
Receive-PSSession
[-ConnectionUri] <Uri>
-InstanceId <Guid>
[-ConfigurationName <String>]
[-AllowRedirection]
[-OutTarget <OutTarget>]
[-JobName <String>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-SessionOption <PSSessionOption>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ConnectionUriSessionName
Receive-PSSession
[-ConnectionUri] <Uri>
-Name <String>
[-ConfigurationName <String>]
[-AllowRedirection]
[-OutTarget <OutTarget>]
[-JobName <String>]
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[-SessionOption <PSSessionOption>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceId
Receive-PSSession
-InstanceId <Guid>
[-OutTarget <OutTarget>]
[-JobName <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
SessionName
Receive-PSSession
-Name <String>
[-OutTarget <OutTarget>]
[-JobName <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Rutina Receive-PSSession získá výsledky příkazů spuštěných v relacích Windows PowerShellu (psSession), které byly odpojeny. Pokud je relace aktuálně připojená, Receive-PSSession získá výsledky příkazů, které byly spuštěny při odpojení relace. Pokud je relace stále odpojená, receive-PSSession se připojí k relaci, obnoví všechny příkazy, které byly pozastaveny, a získá výsledky příkazů spuštěných v relaci.
Kromě příkazu Connect-PSSession můžete použít
receive-PSSession funguje na psSessions, které byly záměrně odpojeny, například pomocí rutiny Disconnect-PSSession nebo InDisconnectedSession parametru Invoke-Command rutiny nebo neúmyslně, například přerušením sítě.
Pokud použijete rutinu Receive-PSSession pro připojení k relaci, ve které nejsou spuštěny nebo pozastaveny žádné příkazy, Receive-PSSession připojí k relaci, ale nevrátí žádné výstupy nebo chyby.
Další informace o funkci Odpojené relace naleznete v tématu about_Remote_Disconnected_Sessions.
Tato rutina byla zavedena ve Windows PowerShellu 3.0.
Příklady
Příklad 1: Připojení k psSession
PS C:\> Receive-PSSession -ComputerName Server01 -Name ITTask
Tento příkaz používá rutinu Receive-PSSession pro připojení k relaci ITTask na počítači Server01 a získání výsledků příkazů spuštěných v relaci.
Vzhledem k tomu, že příkaz nepoužívá parametr OutTarget, zobrazí se výsledky na příkazovém řádku.
Příklad 2: Získání výsledků všech příkazů v odpojených relacích
PS C:\> Get-PSSession -ComputerName Server01, Server02 | Receive-PSSession
Tento příkaz získá výsledky všech příkazů spuštěných ve všech odpojených relacích na počítačích Server01 a Server02.
Pokud některá relace nebyla odpojena nebo nespouštět příkazy, Receive-PSSession se nepřipojí k relaci a nevrací žádný výstup ani chyby.
Příklad 3: Získání výsledků skriptu spuštěného v relaci
PS C:\> Receive-PSSession -ComputerName Server01 -Name ITTask -OutTarget Job -JobName ITTaskJob01 -Credential Domain01\Admin01
Id Name State HasMoreData Location
-- ---- ----- ----------- --------
16 ITTaskJob01 Running True Server01
Tento příkaz používá rutinu Receive-PSSession k získání výsledků skriptu spuštěného v relaci ITTask na počítači Server01.
Příkaz používá parametry ComputerName a Name k identifikaci odpojené relace. Pomocí parametru OutTarget s hodnotou Job směruje Receive-PSSession k vrácení výsledků jako úlohy a parametru JobName k zadání názvu úlohy v znovu připojené relaci.
Příkaz používá parametr přihlašovacích údajů ke spuštění příkazu Receive-PSSession pomocí oprávnění správce domény.
Výstup ukazuje, že Receive-PSSession vrátil výsledky jako úlohu v aktuální relaci. Pokud chcete získat výsledky úlohy, použijte příkaz Receive-Job.
Příklad 4: Získání výsledků po výpadku sítě
The first command uses the New-PSSession cmdlet to create a session on the Server01 computer. The command saves the session in the $s variable.The second command gets the session in the $s variable. Notice that the **State** is Opened and the **Availability** is Available. These values indicate that you are connected to the session and can run commands in the session.
PS C:\> $s = New-PSSession -ComputerName Server01 -Name AD -ConfigurationName ADEndpoint
PS C:\> $s
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
8 AD Server01 Opened ADEndpoint Available
The third command uses the Invoke-Command cmdlet to run a script in the session in the $s variable.The script begins to run and return data, but a network outage occurs that interrupts the session. The user has to exit the session and restart the local computer.
PS> Invoke-Command -Session $s -FilePath \\Server12\Scripts\SharedScripts\New-ADResolve.ps1
Running "New-ADResolve.ps1"
# Network outage
# Restart local computer
# Network access is not re-established within 4 minutes
When the computer restarts, the user starts Windows PowerShell and runs a Get-PSSession command to get sessions on the Server01 computer. The output shows that the AD session still exists on the Server01 computer. The **State** indicates that it is disconnected and the **Availability** value, None, indicates that it is not connected to any client sessions.
PS C:\> Get-PSSession -ComputerName Server01
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Backup Server01 Disconnected Microsoft.PowerShell None
8 AD Server01 Disconnected ADEndpoint None
The fifth command uses the **Receive-PSSession** cmdlet to reconnect to the AD session and get the results of the script that ran in the session. The command uses the *OutTarget* parameter to request the results in a job named ADJob.The command returns a job object. The output indicates that the script is still running.
PS C:\> Receive-PSSession -ComputerName Server01 -Name AD -OutTarget Job -JobName AD
Job Id Name State HasMoreData Location
-- ---- ----- ----------- --------
16 ADJob Running True Server01
The sixth command uses the Get-PSSession cmdlet to check the job state. The output confirms that, in addition to resuming script execution and getting the script results, the **Receive-PSSession** cmdlet reconnected to the AD session, which is now open and available for commands.
PS C:\> Get-PSSession -ComputerName Server01
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Backup Server01 Disconnected Microsoft.PowerShell Busy
8 AD Server01 Opened ADEndpoint Available
Tento příklad používá rutinu Receive-PSSession k získání výsledků úlohy po výpadku sítě přeruší připojení relace. Windows PowerShell se automaticky pokusí znovu připojit relaci jednou za sekundu po dobu následujících čtyř minut a opustí úsilí pouze v případě, že všechny pokusy v čtyřminutovém intervalu selžou.
Příklad 5: Opětovné připojení k odpojeným relacím
The first command uses the Invoke-Command cmdlet to run a script on the three remote computers. Because the scripts gathers and summarize data from multiple databases, it often takes the script an extended time to finish. The command uses the *InDisconnectedSession* parameter, which starts the scripts and then immediately disconnects the sessions.The command uses the *SessionOption* parameter to extend the **IdleTimeout** value of the disconnected session. Disconnected sessions are considered to be idle from the moment they are disconnected, so it is important to set the idle time-out for long enough that the commands can complete and you can reconnect to the session, if necessary. You can set the **IdleTimeout** only when you create the **PSSession** and change it only when you disconnect from it. You cannot change the **IdleTimeout** value when you connect to a **PSSession** or receiving its results.After running the command, the user exits Windows PowerShell and closes the computer .
PS C:\> Invoke-Command -InDisconnectedSession -ComputerName Server01, Server02, Server30 -FilePath \\Server12\Scripts\SharedScripts\Get-BugStatus.ps1 -Name BugStatus -SessionOption @{IdleTimeout = 86400000} -ConfigurationName ITTasks# Exit
# Start Windows PowerShell on a different computer.
On the next day, the user resumes Windows and starts Windows PowerShell. The second command uses the Get-PSSession cmdlet to get the sessions in which the scripts were running. The command identifies the sessions by the computer name, session name, and the name of the session configuration and saves the sessions in the $s variable.The third command displays the value of the $s variable. The output shows that the sessions are disconnected, but not busy, as expected.
PS C:\> $s = Get-PSSession -ComputerName Server01, Server02, Server30 -Name BugStatus
PS C:\> $s
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Disconnected ITTasks None
8 ITTask Server02 Disconnected ITTasks None
2 ITTask Server30 Disconnected ITTasks None
The fourth command uses the **Receive-PSSession** cmdlet to connect to the sessions in the $s variable and get their results. The command saves the results in the $Results variable.Another display of the $s variable shows that the sessions are connected and available for commands.
PS C:\> $Results = Receive-PSSession -Session $s
PS C:\> $s
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 ITTask Server01 Opened ITTasks Available
8 ITTask Server02 Opened ITTasks Available
2 ITTask Server30 Opened ITTasks Available
The fifth command displays the script results in the $Results variable. If any of the results are unexpected, the user can run commands in the sessions to investigate.
PS C:\> $Results
Bug Report - Domain 01
----------------------
ComputerName BugCount LastUpdated
-------------- --------- ------------
Server01 121 Friday, December 30, 2011 5:03:34 PM
Tento příklad používá rutinu Receive-PSSession k opětovnému připojení k relacím, které byly záměrně odpojeny, a získá výsledky úloh spuštěných v relacích.
Příklad 6: Spuštění úlohy v odpojené relaci
The first command uses the New-PSSession cmdlet to create the Test session on the Server01 computer. The command saves the session in the $s variable.
PS C:\> $s = New-PSSession -ComputerName Server01 -Name Test
The second command uses the Invoke-Command cmdlet to run a command in the session in the $s variable. The command uses the *AsJob* parameter to run the command as a job and to create the job object in the current session. The command returns a job object, which is saved in the $j variable.The third command displays the job object in the $j variable.
PS C:\> $j = Invoke-Command -Session $s { 1..1500 | Foreach-Object {"Return $_"; sleep 30}} -AsJob
PS C:\> $j
Id Name State HasMoreData Location
-- ---- ----- ----------- --------
16 Job1 Running True Server01
The fourth command disconnects the session in the $s variable.
PS C:\> $s | Disconnect-PSSession
Id Name ComputerName State ConfigurationName Availability
-- ---- ------------ ----- ----------------- ------------
1 Test Server01 Disconnected Microsoft.PowerShell None
The fifth command shows the effect of disconnecting on the job object in the $j variable. The job state is now Disconnected.
PS C:\> $j
Id Name State HasMoreData Location
-- ---- ----- ----------- --------
16 Job1 Disconnected True Server01
The sixth command runs a Receive-Job command on the job in the $j variable. The output shows that the job began to return output before the session and the job were disconnected.
PS C:\> Receive-Job $j -Keep
Return 1
Return 2
The seventh command is run in the same client session. The command uses the Connect-PSSession cmdlet to reconnect to the Test session on the Server01 computer and saves the session in the $s2 variable.
PS C:\> $s2 = Connect-PSSession -ComputerName Server01 -Name Test
The eighth command uses the **Receive-PSSession** cmdlet to get the results of the job that was running in the session. Because the command is run in the same session, **Receive-PSSession** returns the results as a job by default and reuses the same job object. The command saves the job in the $j2 variable.The ninth command uses the **Receive-Job** cmdlet to get the results of the job in the $j variable.
PS C:\> $j2 = Receive-PSSession -ComputerName Server01 -Name Test
PS C:\> Receive-Job $j
Return 3
Return 4
Tento příklad ukazuje, co se stane s úlohou spuštěnou v odpojené relaci.
Parametry
-AllowRedirection
Označuje, že tato rutina umožňuje přesměrování tohoto připojení na alternativní identifikátor URI (Uniform Resource Identifier).
Pokud použijete parametr ConnectionURI, vzdálený cíl může vrátit pokyn k přesměrování na jiný identifikátor URI. Ve výchozím nastavení Windows PowerShell přesměrovává 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 nastavení hodnoty možnosti MaximumConnectionRedirectionCount relace. Použijte parametr MaximumRedirection rutiny New-PSSessionOption nebo nastavte vlastnost MaximumConnectionRedirectionCount proměnné předvoleb $PSSessionOption. Výchozí hodnota je 5.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ConnectionUriInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-ApplicationName
Specifikuje aplikaci. Tato rutina se připojí pouze k relacím, které používají zadanou aplikaci.
Zadejte segment názvu aplikace jako URI pro připojení. Například v následujícím identifikátoru URI připojení je název aplikace WSMan: https://localhost:5985/WSMAN. Název aplikace relace je uložen v Runspace.ConnectionInfo.AppName vlastnost relace.
Hodnota tohoto parametru slouží k výběru a filtrování relací. Nemění aplikaci, kterou relace používá.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ComputerSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
ComputerInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Authentication
Určuje mechanismus, který se používá k ověření přihlašovacích údajů uživatele v příkazu, aby se znovu připojil k odpojené relaci. Přijatelné hodnoty pro tento parametr jsou:
- Výchozí
- Basic
- Credssp
- Přehled
- Kerberos
- Vyjednávat
- VyjednávatSPodmíněnýmPověřením
Výchozí hodnota je Default.
Další informace o hodnotách tohoto parametru naleznete v tématu AuthenticationMechanism – výčet.
Upozornění
Ověřování pomocí zprostředkovatele podpory zabezpečení přihlašovacích údajů (CredSSP), kdy jsou přihlašovací údaje uživatele předány vzdálenému počítači pro ověření, je navrženo pro příkazy, které vyžadují ověření pro více než jeden prostředek, například při přístupu k vzdálenému síťovému sdílenému úložišti. 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.
Vlastnosti parametru
| Typ: | AuthenticationMechanism |
| Default value: | None |
| Přípustné hodnoty: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ComputerSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ComputerInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | 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 připojení k odpojené relaci. Zadejte kryptografický otisk certifikátu.
Certifikáty se používají při ověřování na základě klientských certifikátů. Je možné je mapovat pouze na místní uživatelské účty. Nefungují s doménovými účty.
Pokud chcete získat kryptografický otisk certifikátu, použijte Get-Item nebo Get-ChildItem příkaz v jednotce Cert Windows PowerShellu:
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ComputerSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ComputerInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-ComputerName
Určuje počítač, na kterém je uložena odpojená relace. Relace se ukládají na počítači, který je na straně serveru nebo na konci připojení. Výchozí hodnota je místní počítač.
Zadejte název NetBIOS, IP adresu nebo plně kvalifikovaný název domény jednoho počítače. Zástupné znaky nejsou povoleny. Chcete-li zadat místní počítač, zadejte název počítače, localhost nebo tečku (.)
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | Kn |
Sady parametrů
ComputerSessionName
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
ComputerInstanceId
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-ConfigurationName
Připojí se pouze k relacím, které používají zadanou konfiguraci relace.
Zadejte název konfigurace nebo plně kvalifikovanou URI prostředku pro konfiguraci relace. Pokud zadáte pouze název konfigurace, předzálohuje se následující identifikátor URI schématu: https://schemas.microsoft.com/powershell. Název konfigurace relace je uložen v ConfigurationName vlastnosti relace.
Hodnota tohoto parametru slouží k výběru a filtrování relací. Nezmění konfiguraci relace, kterou relace používá.
Další informace o konfiguracích relací naleznete v části about_Session_Configurations.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ComputerSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
ComputerInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Confirm
Před spuštěním cmdletu vás vyzve k potvrzení.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | viz |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-ConnectionUri
Určuje identifikátor URI, který definuje koncový bod připojení, který se použije k opětovnému připojení k odpojené 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í:
https://localhost:5985/WSMAN
Pokud nezadáte identifikátor URI připojení, můžete použít UseSSL, ComputerName, Porta ApplicationName parametry pro zadání hodnot URI připojení.
Platné hodnoty pro segment Transport 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ří s porty standardů: 80 pro HTTP a 443 pro HTTPS. Pokud chcete použít výchozí porty pro vzdálené komunikace Prostředí Windows PowerShell, zadejte port 5985 pro HTTP nebo 5986 pro HTTPS.
Pokud cílový počítač přesměruje připojení na jiný identifikátor URI, windows PowerShell zabrání přesměrování, pokud v příkazu nepoužijete parametr AllowRedirect ion.
Vlastnosti parametru
| Typ: | Uri |
| Default value: | https://localhost:5985/WSMAN |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | identifikátor URI, CU |
Sady parametrů
ConnectionUriInstanceId
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriSessionName
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Credential
Určuje uživatelský účet, který má oprávnění k připojení k odpojené relaci. Výchozí hodnota je aktuální uživatel.
Zadejte uživatelské jméno, například User01 nebo Domain01\User01. Nebo zadejte objekt PSCredential, například objekt vygenerovaný rutinou Get-Credential. Pokud zadáte uživatelské jméno, tato rutina vás vyzve k zadání hesla.
Vlastnosti parametru
| Typ: | PSCredential |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ComputerSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ComputerInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Id
Určuje ID odpojené relace. Parametr ID funguje pouze v případech, kdy byla odpojená relace dříve připojena k aktuální relaci.
Tento parametr je platný, ale není efektivní, pokud je relace uložena v místním počítači, ale nebyla připojena k aktuální relaci.
Vlastnosti parametru
| Typ: | Int32 |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
Id
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-InstanceId
Určuje ID instance odpojené relace.
ID instance je identifikátor GUID, který jednoznačně identifikuje PSSession na místním nebo vzdáleném počítači.
ID instance je uloženo v InstanceID vlastnost PSSession.
Vlastnosti parametru
| Typ: | Guid |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ComputerInstanceId
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriInstanceId
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
InstanceId
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-JobName
Určuje popisný název úlohy, která Receive-PSSession vrátí.
receive-PSSession vrátí úlohu, pokud hodnota parametru OutTar get je Job nebo úloha spuštěná v odpojené relaci byla spuštěna v aktuální relaci.
Pokud byla úloha spuštěná v odpojené relaci spuštěna v aktuální relaci, Windows PowerShell znovu použije původní objekt úlohy v relaci a ignoruje hodnotu parametru JobName.
Pokud byla úloha spuštěná v odpojené relaci spuštěna v jiné relaci, Windows PowerShell vytvoří nový objekt úlohy. Používá výchozí název, ale tento parametr můžete použít ke změně názvu.
Pokud výchozí hodnota nebo explicitní hodnota parametru OutTarget není Job, příkaz bude úspěšný, ale JobName parametr nemá žádný vliv.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Name
Určuje přátelský název odpojené relace.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ComputerSessionName
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriSessionName
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
SessionName
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-OutTarget
Určuje způsob vrácení výsledků relace. Přijatelné hodnoty pro tento parametr jsou:
- Práce. Vrátí výsledky asynchronně v objektu úlohy. Pomocí parametru JobName můžete zadat název nebo nový název úlohy.
- Hostitel. Vrátí výsledky na příkazový řádek (synchronně). Pokud se příkaz obnoví nebo se výsledky skládají z velkého počtu objektů, může se odpověď zpozdit.
Výchozí hodnota parametru OutTarget je Host. Pokud se však příkaz přijatý v odpojené relaci spustil v aktuální relaci, výchozí hodnota OutTarget parametr je formulář, ve kterém byl příkaz spuštěn. Pokud byl příkaz spuštěný jako úloha, vrátí se ve výchozím nastavení jako úloha. V opačném případě se ve výchozím nastavení vrátí do hostitelského programu.
Hostitelský program obvykle zobrazuje vrácené objekty na příkazovém řádku bez zpoždění, ale toto chování se může lišit.
Vlastnosti parametru
| Typ: | OutTarget |
| Default value: | None |
| Přípustné hodnoty: | Default, Host, Job |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Port
Určuje síťový port na vzdáleném počítači, který se používá k opětovnému připojení k relaci. 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. Pokud chcete nakonfigurovat naslouchací proces, na příkazovém řádku Windows PowerShellu zadejte následující dva příkazy:
Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse
New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>
Nepoužívejte parametr Port, pokud není nutné. Port nastavený v příkazu se vztahuje na 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.
Vlastnosti parametru
| Typ: | Int32 |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ComputerSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ComputerInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Session
Určuje odpojenou relaci. Zadejte proměnnou, která obsahuje PSSession, nebo příkaz, který vytvoří nebo získá PSSession , například příkaz Get-PSSession.
Vlastnosti parametru
| Typ: | PSSession |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
Session
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-SessionOption
Určuje pokročilé možnosti relace. Zadejte objekt SessionOption, například objekt, který vytvoříte pomocí rutiny New-PSSessionOption, 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 proměnné předvoleb $PSSessionOption, 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 proměnné předvoleb $PSSessionOption 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, které obsahují výchozí hodnoty, naleznete v tématu New-PSSessionOption. Informace o proměnné předvoleb $PSSessionOption najdete v dokumentu about_Preference_Variables. Další informace o konfiguracích relací naleznete v části about_Session_Configurations.
Vlastnosti parametru
| Typ: | PSSessionOption |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ComputerSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ComputerInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ConnectionUriSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-UseSSL
Označuje, že tato rutina používá protokol SSL (Secure Sockets Layer) pro připojení k odpojené relaci. Ve výchozím nastavení se ssl nepoužívá.
WS-Management šifruje veškerý obsah Windows PowerShellu přenášený přes síť. useSSL je další 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.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ComputerSessionName
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
ComputerInstanceId
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-WhatIf
Ukazuje, co se stane, když se příkaz spustí. Příkazový modul nebyl spuštěn.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | Wi |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
PSSession
Objekty relace, jako jsou objekty vrácené rutinou Get-PSSession, můžete do této rutiny řadit.
Int32
ID relací můžete do této rutiny převést.
Guid
ID instancí této rutiny můžete vést na kanály ID instancí.
String
Do této rutiny můžete generovat názvy relací.
Výstupy
System.Management.Automation.Job or PSObject
Tato rutina vrátí výsledky příkazů, které byly spuštěny v odpojené relaci, pokud nějaké existují. Pokud je hodnota nebo výchozí hodnota parametru OutTarget Job, Receive-PSSession vrátí objekt úlohy. V opačném případě vrátí objekty, které představují výsledky příkazu.
Poznámky
receive-PSSession získá výsledky pouze z relací, které byly odpojeny. Je možné odpojit a znovu připojit pouze relace připojené k počítačům se systémem Windows PowerShell 3.0 nebo novějším.
Pokud příkazy spuštěné v odpojené relaci negenerovaly výsledky nebo pokud se výsledky již vrátily do jiné relace, Receive-PSSession nevygeneruje žádný výstup.
Režim ukládání výstupu do vyrovnávací paměti relace určuje, jak příkazy v relaci spravují výstup při odpojení relace. Pokud je hodnota možnosti relace OutputBufferingMode nastavena na Drop a výstupní vyrovnávací paměť je plná, příkaz začne odstraňovat výstup. receive-PSSession nemůže tento výstup obnovit. Další informace o možnosti režimu ukládání výstupu do vyrovnávací paměti najdete v tématech nápovědy pro New-PSSessionOption a rutiny New-PSTransportOption.
Hodnotu časového limitu nečinnosti
PSSession nemůžete změnit, když se připojíte k PSSession nebo obdržíte výsledky. Parametr SessionOption Receive-PSSession přebíráSessionOption objekt, který má hodnotuIdleTimeout. Hodnota nebo příjmu výsledků.IdleTimeout objektuSessionOp tion a hodnotaIdleTimeout proměnné $PSSessionOption se však ignorují, když se připojí kpsSession Časový limit nečinnosti
PSSession můžete nastavit a změnit při vytváření psSession pomocí New-PSSession nebo rutiny Invoke-Command a při odpojení od psSession . Vlastnost
IdleTimeout PSSession je důležitá pro odpojené relace, protože určuje, jak dlouho je odpojená relace udržována ve vzdáleném počítači. Odpojené relace se považují za nečinné od okamžiku, kdy jsou odpojené, i když jsou příkazy spuštěné v odpojené relaci. Pokud spustíte úlohu ve vzdálené relaci pomocí AsJob parametru Invoke-Command, objekt úlohy se vytvoří v aktuální relaci, i když úloha běží ve vzdálené relaci. Pokud vzdálenou relaci odpojíte, objekt úlohy v aktuální relaci je nyní odpojen od úlohy. Objekt úlohy stále obsahuje všechny výsledky, které byly vráceny do ní, ale neobdrží nové výsledky z úlohy v odpojené relaci.
Pokud se jiný klient připojí k relaci, která obsahuje spuštěnou úlohu, výsledky doručené do původního objektu úlohy v původní relaci nejsou v nově připojené relaci k dispozici. V relaci opětovného připojení jsou k dispozici pouze výsledky, které nebyly doručeny do původního objektu úlohy.
Podobně platí, že pokud spustíte skript v relaci a pak se odpojíte od relace, všechny výsledky, které skript před odpojením do relace před odpojením nedoručí, nebudou k dispozici jinému klientovi, který se připojí k relaci.
Pokud chcete zabránit ztrátě dat v relacích, které chcete odpojit, použijte parametr InDisconnectedSession rutiny Invoke- Command. Vzhledem k tomu, že tento parametr brání vrácení výsledků do aktuální relace, jsou při opětovném připojení relace k dispozici všechny výsledky.
Ztrátě dat můžete zabránit také pomocí rutiny Invoke-Command ke spuštění příkazu Start-Job ve vzdálené relaci. V tomto případě se objekt úlohy vytvoří ve vzdálené relaci. K získání výsledků úlohy nemůžete použít rutinu Receive-PSSession. Místo toho se pomocí rutiny Connect-PSSession připojte k relaci a pak pomocí rutiny Invoke-Command spusťte v relaci příkaz Receive-Job.
Pokud je relace obsahující spuštěnou úlohu odpojena a znovu připojena, původní objekt úlohy se znovu použije pouze v případě, že je úloha odpojena a znovu připojena ke stejné relaci a příkaz k opětovnému připojení nezadá nový název úlohy. Pokud se relace znovu připojí k jiné relaci klienta nebo je zadán nový název úlohy, Windows PowerShell pro novou relaci vytvoří nový objekt úlohy.
Když odpojíte PSSession, stav relace je Odpojený a dostupnost je Žádná.
Hodnota vlastnosti State je vázaná na aktuální relaci. Proto hodnota Odpojeno znamená, že PSSession není připojen k aktuální relaci. Neznamená však, že PSSession je odpojen od všech relací. Může být připojeno k jiné relaci. Pokud chcete zjistit, jestli se k relaci můžete připojit nebo znovu připojit, použijte vlastnost Availability.
Hodnota Dostupnost None znamená, že se můžete připojit k relaci. Hodnota Zaneprázdněn označuje, že se nemůžete připojit k psSession, protože je připojen k jiné relaci.
Další informace o hodnotách State vlastnost relace naleznete v tématu RunspaceState Výčtu v knihovně MSDN.
Další informace o hodnotách vlastnosti Availability relací naleznete v tématu Výčtu RunspaceAvailability.