about_PSSession_Details
Rövid leírás
Részletes információkat nyújt a PowerShell-munkamenetekről és a távoli parancsokban játszott szerepükről.
Hosszú leírás
A munkamenetek olyan környezetek, amelyekben a PowerShell fut. A PowerShell minden indításakor létrejön egy munkamenet. Létrehozhat további munkameneteket, úgynevezett "PowerShell-munkameneteket" vagy "PSSessions"-t a számítógépen vagy egy másik számítógépen.
A PowerShell által létrehozott munkamenetekkel ellentétben ön felügyelheti és kezelheti a létrehozott PSSessions-okat.
A PSSessions fontos szerepet játszik a távoli számítástechnikában. Távoli számítógéphez csatlakoztatott PSSession létrehozásakor a PowerShell állandó kapcsolatot létesít a távoli számítógéppel a PSSession támogatásához. A PSSession használatával parancsok, függvények és szkriptek sorozatát futtathatja, amelyek adatokat osztanak meg.
Ez a témakör részletes információkat nyújt a PowerShell munkameneteiről és PSSessions-járól. A munkamenetekkel elvégezhető feladatokról a about_PSSessions című témakörben talál alapvető információkat.
Tudnivalók a munkamenetekről
A munkamenet gyakorlatilag egy végrehajtási környezet, amelyben a PowerShell fut. Minden munkamenet tartalmazza a System.Management.Automation motor egy példányát és egy gazdagépprogramot, amelyben a PowerShell fut. A gazdagép lehet a jól ismert PowerShell-konzol vagy más parancsokat futtató program, például Cmd.exe, vagy a PowerShell üzemeltetésére létrehozott program, például a Windows PowerShell integrált szkriptelési környezete (I Standard kiadás). Windows-szempontból a munkamenet egy Windows-folyamat a célszámítógépen.
Minden munkamenet külön van konfigurálva. Magában foglalja a saját tulajdonságait, saját végrehajtási szabályzatát és saját profiljait. A munkamenet létrehozásakor létező környezet akkor is megmarad az élettartama alatt, ha módosítja a környezetet a számítógépen. Minden munkamenet globális hatókörben jön létre, még a szkriptben létrehozott munkamenetek is.
Egyszerre csak egy parancsot (vagy parancsfolyamatot) futtathat egy munkamenetben. A második parancs szinkron futtatása (egyenként) legfeljebb négy percet vár az első parancs befejezéséig. A második parancs aszinkron módon (egyidejűleg) fut.
Tudnivalók a PSSessionsról
A PowerShell minden indításakor létrejön egy munkamenet. A PowerShell pedig ideiglenes munkameneteket hoz létre az egyes parancsok futtatásához. Létrehozhat azonban olyan munkameneteket (úgynevezett "PowerShell-munkameneteket" vagy "PSSessions"-okat), amelyeket ön irányít és kezel.
A PSSessions kritikus fontosságú a távoli parancsokhoz. Ha a parancsmagok ComputerName paraméterét használja, a Invoke-Command
Enter-PSSession
PowerShell létrehoz egy ideiglenes munkamenetet a parancs futtatásához, majd a parancs vagy az interaktív munkamenet befejeződése után bezárja a munkamenetet.
Ha azonban a parancsmaggal pssessiont hoz létre, a New-PSSession
PowerShell létrehoz egy állandó munkamenetet a távoli számítógépen, amelyen több parancsot vagy interaktív munkamenetet futtathat. A létrehozott PSSessions mindaddig nyitva marad és használható marad, amíg el nem törli őket, vagy amíg be nem zárja azt a munkamenetet, amelyben létrehozták őket.
Amikor PSSessiont hoz létre egy távoli számítógépen, a rendszer létrehoz egy PowerShell-folyamatot a távoli számítógépen, és kapcsolatot létesít a helyi számítógépről a távoli számítógépen futó folyamattal. Amikor PSSessiont hoz létre a helyi számítógépen, az új folyamat és a kapcsolatok is létrejönnek a helyi számítógépen.
Mikor van szükségem PSSession-ra?
A Invoke-Command
parancsmagok Számítógépnév és Enter-PSSession
Munkamenet paraméterekkel is rendelkeznek. A távoli parancsok futtatásához bármelyiket használhatja.
A ComputerName paraméterrel egyetlen parancsot vagy több, egymástól független parancsot futtathat egy vagy több számítógépen.
Az adatokat megosztó parancsok futtatásához állandó kapcsolatra van szükség a távoli számítógéppel. Ebben az esetben hozzon létre egy PSSessiont, majd a Munkamenet paraméterrel futtassa a parancsokat a PSSessionban.
Sok más parancsmag, amely távoli számítógépekről szerez be adatokat, például Get-Process
, Get-Service
Get-EventLog
és Get-WmiObject
csak ComputerName paraméterrel rendelkezik. A PowerShell-remotingtól eltérő technológiákat használnak az adatok távoli gyűjtéséhez. Ezek a parancsmagok nem rendelkeznek munkamenet-paraméterrel , de a Invoke-Command
parancsmaggal futtathatja ezeket a parancsokat EGY PSSession-ben.
Hogyan hozhatok létre PSSession-t?
PSSession létrehozásához használja a New-PSSession
parancsmagot. A PSSession helyi vagy távoli számítógépen való létrehozásához használható New-PSSession
.
Létrehozhatok PSSession-t bármely számítógépen?
Távoli számítógéphez csatlakoztatott PSSession létrehozásához a számítógépet újra kell konfigurálni a PowerShellben. Az aktuális felhasználónak a távoli számítógépen található Rendszergazda istrators csoport tagjának kell lennie, vagy az aktuális felhasználónak meg kell tudnia adni a Rendszergazda istrators csoport egyik tagjának hitelesítő adatait. További információ: about_Remote_Requirements.
Láthatom a PSSessions-t más munkamenetekben?
A Windows PowerShell 3.0-tól kezdődően a Get-PSSession
parancsmag ComputerName paramétere lekéri a megadott távoli számítógépeken létrehozott PSSessions parancsmagokat.
Az aktív PSSessions a távoli számítógépen (a kapcsolat "kiszolgálóoldalán") van fenntartva, és bármely számítógépen bármilyen munkamenetből lekérheti őket.
Ha például psSessiont hoz létre a Server01 számítógépről a Server02 számítógépre, majd a Server03 számítógépre vált, a munkamenet lekéréséhez használhatja az alábbihoz hasonló parancsot.
Get-PSSession -ComputerName Server02
A munkamenet akkor is megmarad a távoli számítógépen, ha leválasztja a munkamenetet, amíg el nem törli, vagy időtúllépést nem végez.
A Windows PowerShell 2.0-ban csak az aktuális munkamenetben létrehozott PSSessions érhető el. Más munkamenetekben létrehozott PSSessions nem szerezhető be.
További információ: Get-PSSession.
Látom a mások által a saját számítógépen létrehozott PSSessions-t?
Csak akkor szerezheti be és kezelheti a mások által létrehozott PSSessionokat, ha megadhatja a PSSession-t létrehozó felhasználó hitelesítő adatait, vagy a PSSession által használt munkamenet-konfiguráció tartalmazza a futtató hitelesítő adatokat. Ellenkező esetben csak a létrehozott PSSessions-elemeket szerezheti be, csatlakoztathatja, használhatja és kezelheti.
Csatlakozás egy másik számítógépről származó PSSession-ra?
A Windows PowerShell 3.0-tól kezdődően a Windows rendszerű számítógépekEN futó PSSessions független a létrehozásukhoz tartozó munkamenettől. Az aktív PSSessions a távoli vagy a "kiszolgálóoldali" kapcsolaton van fenntartva a számítógépen.
Windows rendszerű számítógépeken a parancsmaggal leválaszthatja a Disconnect-PSSession
PSSession-t. A PSSession leválasztva van a helyi munkamenetről, de a távoli számítógépen van fenntartva.
A parancsok továbbra is futnak a leválasztott PSSession-ben. A PsSession megszakítása nélkül bezárhatja a PowerShellt, és leállíthatja az eredeti számítógépet.
Ezután még órákkal később a Get-PSSession
parancsmaggal lekérheti a PSSessiont és a Connect-PSSession
parancsmagot, hogy egy másik Windows-számítógépen lévő új munkamenetből csatlakozzon a PSSessionhoz.
További információ: about_Remote_Disconnected_Sessions.
Mi történik a PSSession-emmel, ha a számítógép leáll?
A leválasztott PSSessions független azoknak a munkameneteknek a számaitól, amelyekben létrehozták őket. Ha leválaszt egy PSSessiont, majd bezárja az eredeti számítógépet, a PSSession megmarad a távoli számítógépen.
Emellett a PowerShell megpróbálja helyreállítani azokat az aktív PSSessionokat, amelyek véletlenül megszakadnak, például egy számítógép újraindítása, egy ideiglenes áramkimaradás vagy hálózatkimaradás miatt. A PowerShell megkísérli fenntartani vagy helyreállítani a PSSessiont egy megnyitott állapotba, ha az eredeti munkamenet továbbra is elérhető, vagy ha nem, megszakadt állapotba.
Az "aktív" PSSession parancsokat futtat. Ha egy PSSession csatlakoztatva van (nincs leválasztva), és a parancsok a PSSessionban futnak a csatlakoztatott munkamenet bezárásakor, a PowerShell megpróbálja fenntartani a PSSessiont a távoli számítógépen. Ha azonban a PSSession szolgáltatásban nincsenek parancsok, a PowerShell bezárja a PSSessiont a csatlakoztatott munkamenet bezárásakor.
További információ: about_Remote_Disconnected_Sessions.
Futtathatok háttérfeladatot PSSession-ben?
Igen. A háttérfeladatok olyan parancsok, amelyek aszinkron módon futnak a háttérben az aktuális munkamenet használata nélkül. Amikor elküld egy parancsot egy feladat indításához, a parancs egy feladatobjektumot ad vissza, de a feladat a háttérben fut, amíg el nem fejeződik.
Ha háttérfeladatot szeretne elindítani egy helyi számítógépen, használja a Start-Job
parancsot.
A háttérfeladatot ideiglenes kapcsolaton (a ComputerName paraméterrel) vagy PSSession-ben (a Munkamenet paraméterrel) futtathatja.
Háttérfeladat távoli számítógépen való elindításához használja a parancsmagot az Invoke-Command
AsJob paraméterrel, vagy a Invoke-Command
parancsmaggal futtasson egy Start-Job
parancsot egy távoli számítógépen. Az AsJob paraméter használatakor használhatja a ComputerName vagy a Session paramétereket.
Invoke-Command
Parancs futtatásakor Start-Job
pssession-ben kell futtatnia a parancsot. Ha a ComputerName paramétert használja, a PowerShell megszakítja a kapcsolatot, amikor a feladatobjektum visszatér, és a feladat megszakad.
További információkért lásd a feladatokat ismertető szakaszt.
Futtathatok interaktív munkamenetet?
Igen. Ha egy távoli számítógéppel szeretne interaktív munkamenetet indítani, használja a Enter-PSSession
parancsmagot. Egy interaktív munkamenetben a beírt parancsok ugyanúgy futnak a távoli számítógépen, mintha közvetlenül a távoli számítógépre írták volna őket.
Egy interaktív munkamenetet egy ideiglenes munkamenetben (a ComputerName paraméterrel) vagy PSSession-ben (a Munkamenet paraméterrel) futtathat. HA PSSessiont használ, a PSSession megőrzi az előző parancsok adatait, a PSSession pedig megőrzi az interaktív munkamenet során létrehozott adatokat a későbbi parancsokban való használatra.
Amikor befejezi az interaktív munkamenetet, a PSSession nyitva marad, és használható marad.
További információ: Enter-PSSession and Exit-PSSession.
Törölni kell a PSSessions parancsot?
Igen. A PSSession egy folyamat, amely egy önálló környezet, amely memóriát és egyéb erőforrásokat használ még akkor is, ha nem használja. Ha befejezte a PSSession-t, törölje azt. Ha több PSSessiont hoz létre, zárja be a nem használtakat, és csak a jelenleg használtakat tartsa karban.
A PSSessions törléséhez használja a Remove-PSSession
parancsmagot. Törli a PSSessions-t, és kiadja az összes használt erőforrást.
Az IdleTimeOut paraméter New-PSSessionOption
használatával is bezárhat egy tétlen PSSessiont egy megadott időköz után. További információ: New-PSSessionOption.
Ha egy PSSession objektumot egy változóba ment, majd törli a PSSessiont, vagy időtúllépést hagy, a változó továbbra is tartalmazza a PSSession objektumot, de a PSSession nem aktív, és nem használható és nem javítható.
Minden munkamenet és PSSessions egyformák?
Szám A fejlesztők egyéni munkameneteket hozhatnak létre, amelyek csak a kiválasztott szolgáltatókat és parancsmagokat tartalmazzák. Ha egy parancs működik az egyik munkamenetben, de nem egy másikban, az lehet, hogy a munkamenet korlátozott.
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: