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>]

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>]

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>]

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

Ez a parancsmag csak a Windows platformon érhető el.

A Receive-PSSession parancsmag lekéri a leválasztott 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, Receive-PSSession csatlakozik a munkamenethez, folytatja a felfüggesztett parancsokat, és lekéri a munkamenetben futó parancsok eredményeit.

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

A Receive-PSSession parancsok mellett vagy helyett Connect-PSSession is használhat. Receive-PSSession csatlakozhat bármely olyan leválasztott vagy újracsatlakoztatott munkamenethez, amelyet más munkamenetekben vagy más számítógépeken indítottak el.

Receive-PSSession olyan PSSessions-en működik, amelyeket szándékosan leválasztottak a Disconnect-PSSession parancsmag vagy az Invoke-CommandInDisconnectedSession paraméter használatával. Vagy véletlenül hálózati megszakítással leválasztva.

Ha a Receive-PSSession parancsmaggal olyan munkamenethez csatlakozik, amelyben nincsenek aktív vagy felfüggesztett parancsok, Receive-PSSession csatlakozik a munkamenethez, de nem ad vissza kimenetet vagy hibajelzést.

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

Néhány példa a "splatting" technika használatával csökkenti a sor hosszát és javítja az olvashatóságot. További információkért tekintse meg a következőket: about_Splatting.

Példák

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

Ez a példa egy távoli számítógépen futó munkamenethez csatlakozik, és lekéri a munkamenetben futó parancsok eredményeit.

Receive-PSSession -ComputerName Server01 -Name ITTask

A Receive-PSSession a ComputerName paraméterrel rendelkező távoli számítógépet adja meg. A Name paraméter azonosítja az ITTask-munkamenetet a Server01 számítógépen. A példa lekéri az ITTask-munkamenetben futó parancsok eredményeit.

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

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

Ez a példa lekéri az összes olyan parancs eredményét, amely két távoli számítógépen futó összes leválasztott munkamenetben fut.

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.

Get-PSSession -ComputerName Server01, Server02 | Receive-PSSession

Get-PSSession a ComputerName paramétert használja a távoli számítógépek megadásához. Az objektumokat le fogják küldeni a csővezetéken a Receive-PSSession-ba.

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

Ez a példa a Receive-PSSession parancsmagot használja egy távoli számítógép munkamenetében futó szkript eredményeinek lekéréséhez.

$parms = @{
  ComputerName = "Server01"
  Name = "ITTask"
  OutTarget = "Job"
  JobName = "ITTaskJob01"
  Credential = "Domain01\Admin01"
}
Receive-PSSession @parms
Id     Name            State         HasMoreData     Location
--     ----            -----         -----------     --------
16     ITTaskJob01     Running       True            Server01

A parancs a ComputerName és Name paramétereket használja a leválasztott munkamenet azonosításához. Az OutTarget paramétert a Job értékre állítva utasítja a Receive-PSSession-t, hogy az eredményeket feladatként adja vissza. A JobName paraméter megadja a feladat nevét az újracsatlakoztatott munkamenetben. A Hitelesítő adatok paraméter egy tartományi rendszergazda engedélyével futtatja a Receive-PSSession parancsot.

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

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

PS> $s = New-PSSession -ComputerName Server01 -Name AD -ConfigurationName ADEndpoint
PS> $s

Id  Name   ComputerName    State        ConfigurationName     Availability
--  ----   ------------    -----        -----------------     ------------
8   AD      Server01       Opened       ADEndpoint               Available


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


PS> Get-PSSession -ComputerName Server01

Id  Name   ComputerName    State          ConfigurationName      Availability
--  ----   ------------    -----          -----------------      ------------
1  Backup  Server01        Disconnected   Microsoft.PowerShell           None
8  AD      Server01        Disconnected   ADEndpoint                     None


PS> Receive-PSSession -ComputerName Server01 -Name AD -OutTarget Job -JobName AD

Job Id   Name      State         HasMoreData     Location
--       ----      -----         -----------     --------
16       ADJob     Running       True            Server01


PS> Get-PSSession -ComputerName Server01

Id  Name    ComputerName    State         ConfigurationName     Availability
--  ----    ------------    -----         -----------------     ------------
1  Backup   Server01        Disconnected  Microsoft.PowerShell          Busy
8  AD       Server01        Opened        ADEndpoint               Available

A New-PSSession parancsmag létrehoz egy munkamenetet a Server01 számítógépen, és menti a munkamenetet a $s változóban. A $s változó megjeleníti, hogy a állapot nyitott, és a rendelkezésre állás elérhető. Ezek az értékek azt jelzik, hogy csatlakozik a munkamenethez, és parancsokat futtathat a munkamenetben.

A Invoke-Command parancsmag egy szkriptet futtat a munkamenetben a $s változóban. A szkript elkezdi futtatni és visszaadni az adatokat, de a munkamenetet megszakító hálózati kimaradás következik be. A felhasználónak ki kell lépnie a munkamenetből, és újra kell indítania a helyi számítógépet.

Amikor a számítógép újraindul, a felhasználó elindítja a PowerShellt, és egy Get-PSSession parancsot futtat a munkamenetek lekéréséhez a Server01 számítógépen. A kimenet azt mutatja, hogy az AD munkamenet továbbra is létezik a Server01 számítógépen. A állapot azt jelzi, hogy az AD munkamenete megszakadt. A Rendelkezésre állási Nincs érték azt jelzi, hogy a munkamenet nincs ügyfél-munkamenetekhez csatlakoztatva.

A Receive-PSSession parancsmag újra csatlakozik az AD munkamenethez, és lekéri a munkamenetben futtatott szkript eredményeit. A parancs az OutTarget paraméterrel kéri le az eredményeket egy ADJobnevű feladatban. A parancs egy feladatobjektumot ad vissza, és a kimenet azt jelzi, hogy a szkript még fut.

A Get-PSSession parancsmaggal ellenőrizheti a feladat állapotát. A kimenet megerősíti, hogy a Receive-PSSession parancsmag újra csatlakozik az AD munkamenethez, amely most már meg van nyitva és elérhető a parancsokhoz. A szkript pedig újraindult, és megkapja a szkript eredményeit.

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

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.

PS> $parms = @{
      InDisconnectedSession = $True
      ComputerName = "Server01", "Server02", "Server30"
      FilePath = "\\Server12\Scripts\SharedScripts\Get-BugStatus.ps1"
      Name = "BugStatus"
      SessionOption = @{IdleTimeout = 86400000}
      ConfigurationName = "ITTasks"
    }
PS> Invoke-Command @parms
PS> Exit


PS> $s = Get-PSSession -ComputerName Server01, Server02, Server30 -Name BugStatus
PS> $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


PS> $Results = Receive-PSSession -Session $s
PS> $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


PS> $Results

Bug Report - Domain 01
----------------------
ComputerName          BugCount          LastUpdated
--------------        ---------         ------------
Server01              121               Friday, December 30, 2011 5:03:34 PM

A Invoke-Command parancsmag egy szkriptet futtat három távoli számítógépen. Mivel a szkript több adatbázisból gyűjti és összegzi az adatokat, a szkript végrehajtása gyakran hosszabb időt vesz igénybe. A parancs az InDisconnectedSession paramétert használja, amely elindítja a szkripteket, majd azonnal leválasztja a munkameneteket. A SessionOption paraméter kibővíti a leválasztott munkamenet IdleTimeout értékét. A leválasztott munkamenetek a leválasztásuk pillanatától tétlennek minősülnek. Fontos, hogy a tétlen időtúllépést elég hosszú ideig állítsa be, hogy a parancsok befejeződhessenek, és újra kapcsolódhassunk a munkamenethez. Az IdleTimeout csak akkor állítható be, amikor létrehozza a PSSession-t, és csak akkor módosítható, amikor megszakítja a kapcsolatot vele. Nem módosíthatja a IdleTimeout értékét, amikor egy PSSession-hez csatlakozik, vagy az eredményeket fogadja. A parancs futtatása után a felhasználó kilép a PowerShellből, és bezárja a számítógépet.

Másnap a felhasználó folytatja a Windowst, elindítja a PowerShellt, és Get-PSSession használatával lekéri azokat a munkameneteket, amelyeken a szkriptek futtak. A parancs azonosítja a munkameneteket a számítógép neve, a munkamenet neve és a munkamenet-konfiguráció neve alapján, és menti a munkameneteket a $s változóban. A $s változó értéke megjelenik, és azt mutatja, hogy a munkamenetek megszakadtak, de nincsenek elfoglalva.

A Receive-PSSession parancsmag csatlakozik a $s változó munkameneteihez, és megkapja az eredményeket. A parancs az eredményeket a $Results változóba menti. Megjelenik a $s változó, és azt mutatja, hogy a munkamenetek csatlakoztatva vannak, és elérhetők a parancsokhoz.

A szkript eredményei a $Results változóban jelennek meg a PowerShell-konzolon. Ha bármelyik eredmény váratlan, a felhasználó parancsokat futtathat a munkamenetekben a kiváltó ok vizsgálatához.

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

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

PS> $s = New-PSSession -ComputerName Server01 -Name Test
PS> $j = Invoke-Command -Session $s { 1..1500 | Foreach-Object {"Return $_"; sleep 30}} -AsJob
PS> $j

Id     Name           State         HasMoreData     Location
--     ----           -----         -----------     --------
16     Job1           Running       True            Server01


PS> $s | Disconnect-PSSession

Id Name   ComputerName    State         ConfigurationName     Availability
-- ----   ------------    -----         -----------------     ------------
1  Test   Server01        Disconnected  Microsoft.PowerShell          None


PS> $j

Id     Name           State         HasMoreData     Location
--     ----           -----         -----------     --------
16     Job1           Disconnected  True            Server01


PS> Receive-Job $j -Keep

Return 1
Return 2


PS> $s2 = Connect-PSSession -ComputerName Server01 -Name Test
PS> $j2 = Receive-PSSession -ComputerName Server01 -Name Test
PS> Receive-Job $j

Return 3
Return 4

A New-PSSession parancsmag létrehozza a Teszt munkamenetet a Server01 számítógépen. A parancs menti a munkamenetet a $s változóban.

A Invoke-Command parancsmag egy parancsot futtat a munkamenetben a $s változóban. A parancs a AsJob paraméterrel futtatja a parancsot feladatként, és létrehozza a feladatobjektumot az aktuális munkamenetben. A parancs egy feladatobjektumot ad vissza, amely a $j változóba van mentve. A $j változó megjeleníti a feladatobjektumot.

A $s változó munkamenet-objektuma a csővezetéken keresztül le lesz küldve a Disconnect-PSSession-re, és a munkamenet megszakításra kerül.

Megjelenik a $j változó, és megjeleníti a feladatobjektum leválasztásának hatását a $j változóban. A feladat állapota most Szétkapcsolva.

A Receive-Job a $j változóban fut a feladaton. A kimenet azt mutatja, hogy az állás már eredményt kezdett adni, mielőtt a munkamenet és az állás megszakadtak.

A Connect-PSSession parancsmag ugyanabban az ügyfél-munkamenetben fut. A parancs újra csatlakozik a Teszt munkamenethez a Server01 számítógépen, és menti a munkamenetet a $s2 változóban.

A Receive-PSSession parancsmag lekéri a munkamenetben futó feladat eredményeit. Mivel a parancs ugyanabban a munkamenetben fut, Receive-PSSession alapértelmezés szerint feladatként adja vissza az eredményeket, és ugyanazt a feladatobjektumot használja újra. A parancs menti a feladatot a $j2 változóba. A Receive-Job parancsmag megszerzi a feladat eredményeit a $j változóban.

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 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 parancsmag New-PSSessionOption paraméterét, vagy állítsa be a beállítási változó $PSSessionOption tulajdonságát. Az alapértelmezett érték 5.

Paramétertulajdonságok

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

Paraméterkészletek

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
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

-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. A következő kapcsolati URI-ban például a WSMan az alkalmazás neve: http://localhost:5985/WSMAN.

A munkamenet alkalmazásnevét a rendszer a munkamenet Runspace.ConnectionInfo.AppName tulajdonságában tárolja.

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

Paramétertulajdonságok

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

Paraméterkészletek

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
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

-Authentication

Megadja a parancs felhasználói hitelesítő adatainak hitelesítéséhez használt mechanizmust 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:Default
Elfogadott értékek:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

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
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
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
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

-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. A tanúsítványok csak helyi felhasználói fiókokra képezhetők le, és nem használhatók tartományi fiókokkal.

Tanúsítvány ujjlenyomatának lekéréséhez használjon egy Get-Item vagy Get-ChildItem parancsot a 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

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
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
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
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

-ComputerName

Azt a számítógépet adja meg, amelyen a leválasztott munkamenetet tárolja a rendszer. A munkamenetek a kiszolgálóoldalon vagy a kapcsolat fogadó végén lévő számítógépen vannak tárolva. 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 (FQDN). 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, egy pontot (.), $env:COMPUTERNAMEvagy localhostot.

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

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
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

-ConfigurationName

Megadja a munkamenet-konfiguráció nevét. Ez a parancsmag 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 rendszer a következő séma URI-ját hozzáilleszti:

http://schemas.microsoft.com/powershell.

A munkamenet konfigurációs neve a munkamenet ConfigurationName tulajdonságában van tárolva.

A paraméter értéke a munkamenetek kiválasztására és szűrésére szolgál. Ez nem módosítja a munkamenet-konfigurációt, amelyet a munkamenet használ.

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

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
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
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
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

-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ő:

http://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ányos portokkal jön létre: 80 HTTP-hez és 443 HTTPS-hez. A PowerShell-újraküldés 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 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:http://localhost:5985/WSMAN
Támogatja a helyettesítő karaktereket:False
DontShow:False
Aliasok:URI, CU

Paraméterkészletek

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
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

-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, amelyet a Get-Credential parancsmag generál. Ha beír egy felhasználónevet, a rendszer kéri a jelszó megadását.

A hitelesítő adatokat egy PSCredential objektum tárolja, a jelszó pedig SecureString.

Megjegyzés:

További információért a SecureString adatvédelemről lásd: Mennyire biztonságos a SecureString?.

Paramétertulajdonságok

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

Paraméterkészletek

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
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
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
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

-Id

Egy leválasztott munkamenet azonosítóját adja meg. 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

Meghatározza a Receive-PSSession által visszaadott feladat felhasználóbarát nevét.

Receive-PSSession akkor ad vissza feladatot, ha az 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 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 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:

  • feladat. Az eredményeket aszinkron módon adja vissza egy feladatobjektumban. A feladat nevét vagy új nevét a JobName paraméterrel adhatja meg.
  • gazdagép. 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 a leválasztott munkamenetben fogadott parancs az aktuális munkamenetben lett elindítva, a OutTarget paraméter alapértelmezett értéke az a forma, amelyben a parancs elindult. Ha a parancsot feladatként indították el, alapértelmezés szerint feladatként adja vissza. Ellenkező esetben alapértelmezés szerint visszakerül a gazdagép programjába.

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ép hálózati portját, amely a munkamenethez való újracsatlakozáshoz használatos. Távoli számítógéphez való csatlakozáshoz 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 a port figyelésére. A figyelő konfigurálásához írja be a következő két parancsot a PowerShell-parancssorba:

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

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

Csak akkor használja a port paramétert, amennyiben szükséges. A parancsban beállított port minden 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

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
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

-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 a $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. A munkamenet-konfigurációban beállított maximális értékek, kvóták és korlátok azonban nem elsőbbséget élveznek.

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

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
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
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
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

-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 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, és az SSL nem érhető el a parancshoz használt porton, a parancs meghiúsul.

Paramétertulajdonságok

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

Paraméterkészletek

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
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

-WhatIf

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

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

Lehetőség van munkamenet-objektumok csatolására ehhez a parancsmaghoz, például a Get-PSSession parancsmag által visszaadott objektumokkal.

Int32

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

Guid

A parancsmaggal továbbíthatja a munkamenetek példányazonosítóit.

String

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

Kimenetek

Job

Ha az OutTarget paraméter értéke vagy alapértelmezett értéke Job, Receive-PSSession egy feladatobjektumot ad vissza.

PSObject

Ez a parancsmag a leválasztott munkamenetben futtatott parancsok eredményeit adja vissza, ha vannak ilyenek.

Jegyzetek

A PowerShell a következő aliasokat tartalmazza Receive-PSSession:

  • Minden platform:
    • rcsn

Ez a parancsmag csak Windows-platformokon érhető el.

Csak a különválasztott munkamenetekből származó eredmények lesznek lekérve a Receive-PSSession számára. Csak a 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, Receive-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 a New-PSTransportOption parancsmagok súgócikkeit.

Amikor csatlakozik a PSSession-hoz, vagy eredményeket kap, nem változtathatja meg a PSSession tétlen állapot időkorlát értékét. A Receive-PSSession paramétere egy SessionOption objektumot vesz fel, amely IdleTimeout értékkel rendelkezik. Azonban a IdleTimeout értéke a SessionOption objektumnak, és a IdleTimeout értéke a $PSSessionOption változónak figyelmen kívül marad, amikor egy PSSession-hez csatlakozik vagy eredményeket kap.

  • A PSSession tétlenségi időtúllépését beállíthatja és módosíthatja a PSSessionlétrehozásakor a New-PSSession vagy Invoke-Command parancsmagok használatával, és amikor leválasztja magát a PSSession-ről.
  • 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 parancsmag Invoke-Command 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 le lesz választva a feladatról. A feladatobjektum tartalmazza a visszaadott eredményeket, de nem kap új eredményeket a feladattól a leválasztott munkamenetben.

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 parancsmag Invoke-Command 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, amivel egy Start-Job parancsot futtathat a távoli munkamenetben. Ebben az esetben a feladatobjektum a távoli munkamenetben jön létre. A feladat eredményeinek lekéréséhez nem használhatja a Receive-PSSession parancsmagot. 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 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. A „Leválasztva” érték azt jelenti, hogy a PSSession nem csatlakozik 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-hez, mert az egy másik munkamenethez van csatlakoztatva.
  • A munkamenetek State tulajdonságának értékeiről további információt a RunspaceStatecímű témakörben talál.
  • A munkamenetek rendelkezésre állási tulajdonságának értékeiről további információt a RunspaceAvailability című részben talál.