Megosztás a következőn keresztül:


Receive-PSSession

Parancsok eredményeinek lekérdezése leválasztott munkamenetekben

Syntax

Session (Alapértelmezett)

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

A Receive-PSSession parancsmag lekéri a leválasztott Windows PowerShell-munkamenetekben (PSSession) futó parancsok eredményeit. Ha a munkamenet jelenleg csatlakoztatva van, Receive-PSSession lekéri a munkamenet leválasztásakor futó parancsok eredményeit. Ha a munkamenet továbbra is megszakad, a Receive-PSSession csatlakozik a munkamenethez, folytatja a felfüggesztett parancsokat, és megkapja a munkamenetben futó parancsok eredményeit.

A Connect-PSSession parancsok mellett vagy helyett használhat Receive-PSSession. Receive-PSSession bármilyen leválasztott vagy újracsatlakoztatott munkamenethez csatlakozhat. Ezek közé tartoznak a más munkamenetekben vagy más számítógépeken elindítottak.

Receive-PSSession olyan PSSessions működik, amelyek szándékosan megszakadtak, például a Disconnect-PSSession parancsmag vagy a Invoke-Command parancsmag InDisconnectedSession paraméterének használatával, vagy véletlenül, például hálózati megszakítással.

Ha a Receive-PSSession parancsmaggal csatlakozik egy olyan munkamenethez, amelyen nincsenek parancsok futnak vagy függesztenek fel, a Receive-PSSession csatlakozik a munkamenethez, de nem ad vissza kimenetet vagy hibákat.

A Leválasztott munkamenetek funkcióval kapcsolatos további információkért lásd about_Remote_Disconnected_Sessions.

Ezt a parancsmagot a Windows PowerShell 3.0-ban vezettük be.

Példák

1. példa: Csatlakozás PSSession-hez

PS C:\> Receive-PSSession -ComputerName Server01 -Name ITTask

Ez a parancs a Receive-PSSession parancsmaggal csatlakozik a Server01 számítógépen futó ITTask-munkamenethez, és lekéri a munkamenetben futó parancsok eredményeit.

Mivel a parancs nem használja az OutTarget paramétert, az eredmények a parancssorban jelennek meg.

2. példa: Az összes parancs eredményének lekérése leválasztott munkamenetekben

PS C:\> Get-PSSession -ComputerName Server01, Server02 | Receive-PSSession

Ez a parancs lekéri a Server01 és a Server02 számítógépek összes leválasztott munkamenetében futó összes parancs eredményét.

Ha egy munkamenet nem volt leválasztva, vagy nem futtat parancsokat, Receive-PSSession nem csatlakozik a munkamenethez, és nem ad vissza semmilyen kimenetet vagy hibát.

3. példa: Munkamenetben futó szkript eredményeinek lekérése

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

Ez a parancs a Receive-PSSession parancsmagot használja a Server01 számítógépen futó ITTask-munkamenetben futó szkript eredményeinek lekéréséhez.

A parancs a ComputerName és Name paramétereket használja a leválasztott munkamenet azonosításához. Az OutTarget paramétert használja a Feladat értékével, hogy a Fogadó-PSSession az eredményeket feladatként adja vissza, a JobName paraméter pedig megadja a feladat nevét az újracsatlakoztatott munkamenetben.

A parancs a Hitelesítő adatok paraméterrel futtatja a Receive-PSSession parancsot egy tartományi rendszergazda engedélyével.

A kimenet azt mutatja, hogy Receive-PSSession az eredményeket feladatként adja vissza az aktuális munkamenetben. A feladat eredményeinek lekéréséhez használjon egy Receive-Job parancsot

4. példa: Eredmények lekérése hálózatkimaradás után

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

Ez a példa a Receive-PSSession parancsmagot használja egy feladat eredményeinek lekéréséhez, miután egy hálózati kimaradás megszakítja a munkamenet-kapcsolatot. A Windows PowerShell automatikusan megkísérli újracsatlakozni a munkamenetet minden második alkalommal a következő négy percben, és csak akkor hagyja abba az erőfeszítést, ha a négyperces időköz minden kísérlete sikertelen.

5. példa: Kapcsolat helyreállítása leválasztott munkamenetekhez

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

Ez a példa a Receive-PSSession parancsmagot használja a szándékosan leválasztott munkamenetekhez való újracsatlakozáshoz, és a munkamenetekben futó feladatok eredményeinek lekéréséhez.

6. példa: Feladat futtatása leválasztott munkamenetben

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

Ez a példa bemutatja, mi történik egy leválasztott munkamenetben futó feladatsal.

Paraméterek

-AllowRedirection

Azt jelzi, hogy ez a parancsmag lehetővé teszi a kapcsolat átirányítását egy alternatív egységes erőforrás-azonosítóra (URI).

Ha a ConnectionURI paramétert használja, a távoli cél egy utasítást adhat vissza egy másik URI-ra való átirányításhoz. A Windows PowerShell alapértelmezés szerint nem irányítja át a kapcsolatokat, de ezzel a paramétersel engedélyezheti a kapcsolat átirányítását.

A MaximumConnectionRedirectionCount munkamenetbeállítás értékének módosításával azt is korlátozhatja, hogy a rendszer hányszor irányítsa át a kapcsolatot. Használja a New-PSSessionOption parancsmag MaximumRedirection paraméterét, vagy állítsa be a $PSSessionOption beállítási változó MaximumConnectionRedirectionCount tulajdonságát. Az alapértelmezett érték 5.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ConnectionUriInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ConnectionUriSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ApplicationName

Egy alkalmazást határoz meg. Ez a parancsmag csak a megadott alkalmazást használó munkamenetekhez csatlakozik.

Adja meg a kapcsolati URI alkalmazásnév-szegmensét. Az alábbi kapcsolati URI-ban például az alkalmazás neve WSMan: https://localhost:5985/WSMAN. A munkamenet alkalmazásnevét a rendszer a munkamenet Runspace.ConnectionInfo.AppName tulajdonságában tárolja.

Ennek a paraméternek az értéke a munkamenetek kiválasztására és szűrésére szolgál. A munkamenet által használt alkalmazást nem módosítja.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
ComputerInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-Authentication

Megadja azt a mechanizmust, amely a felhasználó hitelesítő adatainak hitelesítésére szolgál a parancsban a leválasztott munkamenethez való újracsatlakozáshoz. A paraméter elfogadható értékei a következők:

  • Alapértelmezett
  • Alapszintű
  • Credssp
  • Összefoglaló
  • Kerberos
  • Tárgyal
  • Tárgyalás Beágyazott Hitelesítő Adattal

Az alapértelmezett érték az Alapértelmezett.

A paraméter értékeivel kapcsolatos további információkért lásd AuthenticationMechanism Enumeration.

Figyelmeztetés

A hitelesítő adatok biztonsági támogatási szolgáltatójának (CredSSP) hitelesítése, amelyben a felhasználói hitelesítő adatok átadva vannak egy hitelesítendő távoli számítógépnek, olyan parancsokhoz készült, amelyek több erőforráson is hitelesítést igényelnek, például távoli hálózati megosztáshoz való hozzáféréshez. Ez a mechanizmus növeli a távoli művelet biztonsági kockázatát. Ha a távoli számítógép biztonsága sérül, a neki átadott hitelesítő adatokkal szabályozható a hálózati munkamenet.

Paramétertulajdonságok

Típus:AuthenticationMechanism
Alapértelmezett érték:None
Elfogadott értékek:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ComputerInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ConnectionUriInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ConnectionUriSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-CertificateThumbprint

Megadja egy olyan felhasználói fiók digitális nyilvános kulcsú tanúsítványát (X509), amely jogosult csatlakozni a leválasztott munkamenethez. Adja meg a tanúsítvány ujjlenyomatát.

A tanúsítványok az ügyféltanúsítvány-alapú hitelesítésben használatosak. Ezek csak helyi felhasználói fiókokra képezhetők le. Nem működnek tartományi fiókokkal.

Tanúsítvány ujjlenyomatának lekéréséhez használjon egy Get-Item vagy Get-ChildItem parancsot a Windows PowerShell Cert: meghajtón.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ComputerInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ConnectionUriInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ConnectionUriSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ComputerName

Azt a számítógépet adja meg, amelyen a leválasztott munkamenetet tárolja a rendszer. A munkamenetek a kiszolgálóoldali számítógépen vannak tárolva, vagy egy kapcsolat végét kapják. Az alapértelmezett beállítás a helyi számítógép.

Írja be egy számítógép NetBIOS-nevét, IP-címét vagy teljes tartománynevét. A helyettesítő karakterek nem engedélyezettek. A helyi számítógép megadásához írja be a számítógép nevét, a localhost vagy a pont (.)

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Cn

Paraméterkészletek

ComputerSessionName
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
ComputerInstanceId
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-ConfigurationName

Csak a megadott munkamenet-konfigurációt használó munkamenetekhez csatlakozik.

Adja meg a konfiguráció nevét vagy a munkamenet-konfiguráció teljes minősített erőforrás-URI-ját. Ha csak a konfiguráció nevét adja meg, a következő séma URI-ja elő van állítva: https://schemas.microsoft.com/powershell. A munkamenet konfigurációs neve a munkamenet ConfigurationName tulajdonságában van tárolva.

Ennek a paraméternek az értéke a munkamenetek kiválasztására és szűrésére szolgál. Nem módosítja a munkamenet által használt munkamenet-konfigurációt.

További információ a munkamenet-konfigurációkról: about_Session_Configurations.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
ComputerInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
ConnectionUriInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
ConnectionUriSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-Confirm

Megerősítést kér a parancsmag futtatása előtt.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Cf

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-ConnectionUri

Megadja a leválasztott munkamenethez való újracsatlakozáshoz használt kapcsolati végpontot meghatározó URI-t.

Az URI-nak teljes mértékben minősítettnek kell lennie. A sztring formátuma a következő:

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

Az alapértelmezett érték a következő:

https://localhost:5985/WSMAN

Ha nem ad meg kapcsolati URI-t, használhatja a UseSSL, ComputerName, Portés ApplicationName paramétereket a kapcsolat URI-értékeinek megadásához.

Az URI Átviteli szegmensének érvényes értékei a HTTP és a HTTPS. Ha egy átviteli szegmenshez tartozó kapcsolati URI-t ad meg, de nem ad meg portot, a munkamenet szabványportokkal jön létre: HTTP-hez 80, HTTPS-hez pedig 443. A Windows PowerShell-remoting alapértelmezett portjának használatához adja meg az 5985-ös portot a HTTP-hez, a HTTPS-hez pedig az 5986-os portot.

Ha a célszámítógép átirányítja a kapcsolatot egy másik URI-ra, a Windows PowerShell megakadályozza az átirányítást, kivéve, ha a parancsban az AllowRedirection paramétert használja.

Paramétertulajdonságok

Típus:Uri
Alapértelmezett érték:https://localhost:5985/WSMAN
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:URI, CU

Paraméterkészletek

ConnectionUriInstanceId
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False
ConnectionUriSessionName
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-Credential

Olyan felhasználói fiókot ad meg, amely rendelkezik engedéllyel a leválasztott munkamenethez való csatlakozáshoz. Az alapértelmezett az aktuális felhasználó.

Írjon be egy felhasználónevet, például User01 vagy Domain01\User01. Vagy adjon meg egy PSCredential objektumot, például a Get-Credential parancsmag által létrehozott objektumot. Ha felhasználónevet ír be, ez a parancsmag jelszó megadását kéri.

Paramétertulajdonságok

Típus:PSCredential
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ComputerInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ConnectionUriInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ConnectionUriSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Id

Megadja a leválasztott munkamenet azonosítóját. Az id paraméter csak akkor működik, ha a leválasztott munkamenet korábban az aktuális munkamenethez volt csatlakoztatva.

Ez a paraméter érvényes, de nem érvényes, ha a munkamenet a helyi számítógépen van tárolva, de nem csatlakozott az aktuális munkamenethez.

Paramétertulajdonságok

Típus:Int32
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

Id
Position:0
Kötelező:True
Folyamatból származó érték:True
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-InstanceId

Megadja a leválasztott munkamenet ID-jét.

A példányazonosító egy GUID, amely egyedileg azonosít egy PSSession egy helyi vagy távoli számítógépen futó példányát.

A példányazonosító a InstanceID tulajdonságban van tárolva a PSSession.

Paramétertulajdonságok

Típus:Guid
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerInstanceId
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ConnectionUriInstanceId
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
InstanceId
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-JobName

Megadja annak a feladatnak a rövid nevét, amelyet Receive-PSSession visszaad.

Fogadó-PSSession akkor ad vissza feladatot, ha a OutTarget paraméter értéke Feladat, vagy a leválasztott munkamenetben futó feladat az aktuális munkamenetben indult el.

Ha a leválasztott munkamenetben futó feladat az aktuális munkamenetben indult el, a Windows PowerShell újra felhasználja az eredeti feladatobjektumot a munkamenetben, és figyelmen kívül hagyja a JobName paraméter értékét.

Ha a leválasztott munkamenetben futó feladat egy másik munkamenetben indult el, a Windows PowerShell létrehoz egy új feladatobjektumot. Alapértelmezett nevet használ, de ezzel a paraméterrel módosíthatja a nevet.

Ha az OutTarget paraméter alapértelmezett vagy explicit értéke nem Feladat, a parancs sikeres, de a JobName paraméternek nincs hatása.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Name

A leválasztott munkamenet barátságos nevét adja meg.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerSessionName
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ConnectionUriSessionName
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
SessionName
Position:Named
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-OutTarget

Meghatározza a munkamenet eredményeinek visszaadott módját. A paraméter elfogadható értékei a következők:

  • Foglalkozás. Az eredményeket aszinkron módon adja vissza egy feladatobjektumban. A feladat nevét vagy új nevét a JobName paraméterrel adhatja meg.
  • Házigazda. Az eredményeket a parancssorba adja vissza (szinkronban). Ha a parancs folytatása folyamatban van, vagy az eredmények nagy számú objektumból állnak, a válasz késhet.

Az OutTarget paraméter alapértelmezett értéke a Host. Ha azonban a leválasztott munkamenetben fogadott parancs az aktuális munkamenetben indult el, a OutTarget paraméter alapértelmezett értéke az az űrlap, amelyben a parancs elindult. Ha a parancs feladatként lett elindítva, a rendszer alapértelmezés szerint feladatként adja vissza. Ellenkező esetben a rendszer alapértelmezés szerint visszaadja a gazdaprogramnak.

A gazdaprogram általában késedelem nélkül jeleníti meg a visszaadott objektumokat a parancssorban, de ez a viselkedés eltérő lehet.

Paramétertulajdonságok

Típus:OutTarget
Alapértelmezett érték:None
Elfogadott értékek:Default, Host, Job
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Port

Megadja a távoli számítógépen a munkamenethez való újracsatlakozáshoz használt hálózati portot. Távoli számítógéphez való csatlakozáshoz a távoli számítógépnek a kapcsolat által használt portot kell figyelnie. Az alapértelmezett portok az 5985, amely a HTTP WinRM-portja, és az 5986, amely a HTTPS WinRM-portja.

Egy másik port használata előtt konfigurálnia kell a WinRM-figyelőt a távoli számítógépen az adott port figyelésére. A figyelő konfigurálásához írja be a következő két parancsot a Windows PowerShell parancssorba:

Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse

New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>

Ne használja a Port paramétert, hacsak nem szükséges. A parancsban beállított port az összes olyan számítógépre vagy munkamenetre vonatkozik, amelyen a parancs fut. Egy másik portbeállítás megakadályozhatja, hogy a parancs minden számítógépen fusson.

Paramétertulajdonságok

Típus:Int32
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ComputerInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Session

A leválasztott munkamenetet adja meg. Adjon meg egy változót, amely tartalmazza a PSSession, vagy egy olyan parancsot, amely létrehozza vagy lekéri a PSSession, például egy Get-PSSession parancsot.

Paramétertulajdonságok

Típus:PSSession
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

Session
Position:0
Kötelező:True
Folyamatból származó érték:True
Folyamatból származó érték tulajdonságnév alapján:True
Fennmaradó argumentumokból származó érték:False

-SessionOption

A munkamenet speciális beállításait adja meg. Adjon meg egy SessionOption objektumot, például a New-PSSessionOption parancsmaggal létrehozott objektumot, vagy egy kivonattáblát, amelyben a kulcsok munkamenet-beállításnevek, az értékek pedig munkamenet-beállításértékek.

A beállítások alapértelmezett értékeit az $PSSessionOption beállítási változó értéke határozza meg, ha be van állítva. Ellenkező esetben az alapértelmezett értékeket a munkamenet-konfigurációban megadott beállítások állítják be.

A munkamenet-beállításértékek elsőbbséget élveznek a $PSSessionOption beállítási változóban és a munkamenet-konfigurációban beállított munkamenetek alapértelmezett értékeivel szemben. Azonban nem elsőbbséget élveznek a munkamenet-konfigurációban beállított maximális értékekkel, kvótával vagy korlátokkal szemben.

Az alapértelmezett értékeket tartalmazó munkamenet-beállítások leírását lásd: New-PSSessionOption. A $PSSessionOption beállítási változóval kapcsolatos információkért lásd: about_Preference_Variables. További információ a munkamenet-konfigurációkról: about_Session_Configurations.

Paramétertulajdonságok

Típus:PSSessionOption
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ComputerInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ConnectionUriInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ConnectionUriSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-UseSSL

Azt jelzi, hogy ez a parancsmag a Secure Sockets Layer (SSL) protokollt használja a leválasztott munkamenethez való csatlakozáshoz. Alapértelmezés szerint az SSL nem használatos.

WS-Management titkosítja a hálózaton keresztül továbbított összes Windows PowerShell-tartalmat. A UseSSL egy további védelem, amely HTTP-kapcsolat helyett HTTPS-kapcsolaton keresztül küldi el az adatokat.

Ha ezt a paramétert használja, de az SSL nem érhető el a parancshoz használt porton, a parancs meghiúsul.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ComputerSessionName
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False
ComputerInstanceId
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-WhatIf

Megjeleníti, mi történne, ha a parancsmag futna. A parancsmag nem fut.

Paramétertulajdonságok

Típus:SwitchParameter
Alapértelmezett érték:False
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:Wi

Paraméterkészletek

(All)
Position:Named
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

CommonParameters

Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.

Bevitelek

PSSession

Ehhez a parancsmaghoz a munkamenet-objektumokat, például a Get-PSSession parancsmag által visszaadott objektumokat is be lehet csövezni.

Int32

Ehhez a parancsmaghoz a munkamenet-azonosítókat is be lehet csövezni.

Guid

A parancsmagban futtathatja a munkamenetek példányazonosítóit.

String

A parancsmaghoz a munkamenetek neveit is be lehet csövezni.

Kimenetek

System.Management.Automation.Job or PSObject

Ez a parancsmag a leválasztott munkamenetben futtatott parancsok eredményeit adja vissza, ha vannak ilyenek. Ha az OutTarget paraméter értéke vagy alapértelmezett értéke Feladat, Fogadó-PSSession egy feladatobjektumot ad vissza. Ellenkező esetben az adott parancs eredményeit képviselő objektumokat ad vissza.

Jegyzetek

  • Receive-PSSession csak a leválasztott munkamenetekből kap eredményeket. Csak a Windows PowerShell 3.0-s vagy újabb verzióit futtató számítógépekhez csatlakozó vagy ott végződő munkamenetek kapcsolhatók le és kapcsolhatók újra.

  • Ha a leválasztott munkamenetben futó parancsok nem hoztak létre eredményeket, vagy ha az eredményeket már visszaadták egy másik munkamenetbe, Fogadó-PSSession nem hoz létre kimenetet.

  • A munkamenet kimeneti pufferelési módja határozza meg, hogy a munkamenet parancsai hogyan kezelik a kimenetet a munkamenet leválasztásakor. Amikor a munkamenet OutputBufferingMode opciójának értéke Drop, és a kimeneti puffer megtelik, a parancs elkezdi törölni a kimenetet. Receive-PSSession nem tudja helyreállítani ezt a kimenetet. A kimeneti pufferelési mód beállításával kapcsolatos további információkért tekintse meg a New-PSSessionOption és New-PSTransportOption parancsmagok súgótémaköröket.

  • Az PSSession tétlen időtúllépési értékét nem módosíthatja, ha csatlakozik a PSSession vagy eredményeket kap. A Receive-PSSessionSessionOption paramétere egy SessionOption objektumot vesz fel, amely IdleTimeout értékkel rendelkezik. A IdleTimeoutSessionOption objektum és a IdleTimeout $PSSessionOption értéke azonban figyelmen kívül lesz hagyva, amikor PSSession vagy eredmények fogadása során csatlakozik.

    A PSSession PSSessionlétrehozásakor a New-PSSession vagy meghívási parancsmagok használatával, valamint a PSSessionleválasztásakor beállíthatja és módosíthatja az inaktív időtúllépést.

    A PSSessionIdleTimeout tulajdonsága kritikus fontosságú a leválasztott munkamenetek szempontjából, mivel meghatározza, hogy mennyi ideig tart fenn a leválasztott munkamenet a távoli számítógépen. A leválasztott munkamenetek inaktívnak minősülnek attól a pillanattól kezdve, amikor le vannak választva, még akkor is, ha a parancsok a leválasztott munkamenetben futnak.

  • Ha egy távoli munkamenetben indít el egy feladatot a Invoke-Command parancsmag AsJob paraméterével, a feladatobjektum az aktuális munkamenetben jön létre, annak ellenére, hogy a feladat a távoli munkamenetben fut. Ha leválasztja a távoli munkamenetet, az aktuális munkamenet feladatobjektuma most le lesz választva a feladatról. A feladatobjektum továbbra is tartalmaz minden visszaadott eredményt, de a leválasztott munkamenetben nem kap új eredményeket a feladattól.

    Ha egy másik ügyfél csatlakozik a futó feladatot tartalmazó munkamenethez, az eredeti munkamenetben az eredeti feladatobjektumnak küldött eredmények nem érhetők el az újonnan csatlakoztatott munkamenetben. Az újracsatlakoztatott munkamenetben csak azok az eredmények érhetők el, amelyek nem lettek kézbesítve az eredeti feladatobjektumnak.

    Hasonlóképpen, ha egy munkamenetben elindít egy szkriptet, majd leválasztja a munkamenetről, a szkript által a munkamenethez a leválasztás előtt elért eredmények nem érhetők el a munkamenethez csatlakozó másik ügyfél számára.

    A leválasztani kívánt munkamenetek adatvesztésének megelőzéséhez használja a Invoke-Command parancsmag InDisconnectedSession paraméterét. Mivel ez a paraméter megakadályozza, hogy az eredmények visszakerüljenek az aktuális munkamenetbe, a munkamenet újracsatlakozásakor minden eredmény elérhető lesz.

    Az adatvesztést az Invoke-Command parancsmaggal is megakadályozhatja, hogy Start-Job parancsot futtasson a távoli munkamenetben. Ebben az esetben a feladatobjektum a távoli munkamenetben jön létre. A Receive-PSSession parancsmag nem használható a feladat eredményeinek lekéréséhez. Ehelyett a Connect-PSSession parancsmaggal csatlakozzon a munkamenethez, majd a Invoke-Command parancsmaggal futtasson egy Receive-Job parancsot a munkamenetben.

  • Ha egy futó feladatot tartalmazó munkamenet megszakad, majd újracsatlakozik, a rendszer csak akkor használja újra az eredeti feladatobjektumot, ha a feladat leválasztva van, és újra csatlakozik ugyanahhoz a munkamenethez, és az újrakapcsolódási parancs nem ad meg új feladatnevet. Ha a munkamenet egy másik ügyfél munkamenethez csatlakozik, vagy új feladatnév van megadva, a Windows PowerShell létrehoz egy új feladatobjektumot az új munkamenethez.

  • Ha leválaszt egy PSSession, a munkamenet státusza Leválasztva, és a rendelkezésre állás értéke Nincs.

    Az State tulajdonság értéke az aktuális munkamenethez viszonyítva van. Ezért a leválasztott érték azt jelenti, hogy a PSSession nincs csatlakoztatva az aktuális munkamenethez. Ez azonban nem jelenti azt, hogy a PSSession leválasztva van az összes munkamenetről. Lehet, hogy egy másik munkamenethez csatlakozik. Annak megállapításához, hogy tud-e csatlakozni vagy újra csatlakozni a munkamenethez, használja a Rendelkezésre állási tulajdonságot.

    A Rendelkezésre állás értéke None azt jelzi, hogy csatlakozhat a munkamenethez. A Foglalt érték azt jelzi, hogy nem tud csatlakozni a PSSession, mert egy másik munkamenethez van csatlakoztatva.

    A munkamenetek State tulajdonságának értékeiről az MSDN-kódtárban RunspaceState Enumeration című témakörben talál további információt.

    A munkamenetek Rendelkezésre állási tulajdonságának értékeiről a RunspaceAvailability Enumerationcímű talál további információt.