Enter-PSHostProcess
Egy helyi folyamattal csatlakozik egy interaktív munkamenethez, és egy interaktív munkamenetbe lép be.
Syntax
ProcessIdParameterSet (Alapértelmezett)
Enter-PSHostProcess
[-Id] <Int32>
[[-AppDomainName] <String>]
[<CommonParameters>]
ProcessParameterSet
Enter-PSHostProcess
[-Process] <Process>
[[-AppDomainName] <String>]
[<CommonParameters>]
ProcessNameParameterSet
Enter-PSHostProcess
[-Name] <String>
[[-AppDomainName] <String>]
[<CommonParameters>]
PSHostProcessInfoParameterSet
Enter-PSHostProcess
[-HostProcessInfo] <PSHostProcessInfo>
[[-AppDomainName] <String>]
[<CommonParameters>]
PipeNameParameterSet
Enter-PSHostProcess
-CustomPipeName <String>
[<CommonParameters>]
Description
A Enter-PSHostProcess parancsmag egy helyi folyamattal csatlakozik egy interaktív munkamenethez, és egy interaktív munkamenetbe lép be. A PowerShell 6.2-től kezdődően ez a parancsmag nem Windows-platformokon támogatott.
A PowerShell üzemeltetésére és távoli munkamenet futtatására vonatkozó új folyamat létrehozása helyett a távoli interaktív munkamenet egy meglévő folyamatban fut, amely már futtatja a PowerShellt. Ha egy adott folyamat távoli munkamenetével dolgozik, számba vehet futó runspace-eket, majd kiválaszthat egy olyan futtatóteret, amely hibakeresésre szolgál Debug-Runspace vagy Enable-RunspaceDebugfuttatásával.
A beírni kívánt folyamatnak a PowerShellt (System.Management.Automation.dll) kell üzemeltetnie. Vagy a Rendszergazdák csoport tagjának kell lennie azon a számítógépen, amelyen a folyamat található, vagy Önnek kell lennie az a felhasználó, aki a folyamatot elindító szkriptet futtatja.
Miután kiválasztott egy futtatóteret a hibakereséshez, a rendszer megnyit egy távoli hibakeresési munkamenetet a runspace számára, ha jelenleg egy parancsot futtat, vagy le van állítva a hibakeresőben. Ezután ugyanúgy hibakeresést végezhet a futtatókörnyezeti szkriptben, mint a többi távoli munkamenet-szkriptben.
Válassza le a hibakeresési munkamenetet, majd az interaktív munkamenetet a folyamattal úgy, hogy kétszer futtatja a kilépést, vagy állítsa le a szkript végrehajtását a meglévő hibakereső kilépési parancsának futtatásával.
Ha a Név paraméterrel ad meg egy folyamatot, és a megadott névvel csak egy folyamat található, a folyamat be lesz írva. Ha egynél több folyamat található a megadott névvel, a PowerShell hibát ad vissza, és felsorolja a megadott névvel talált összes folyamatot.
A távoli számítógépeken futó folyamatokhoz való csatolás támogatásához a Enter-PSHostProcess parancsmag engedélyezve van egy megadott távoli számítógépen, hogy egy távoli PowerShell-munkameneten belül helyi folyamathoz csatolhassa.
Példák
1. példa: Runspace hibakeresésének megkezdése a PowerShell ISE-folyamaton belül
Ebben a példában Enter-PSHostProcess futtat a PowerShell-konzolon belül a PowerShell ISE folyamatának megadásához. Az eredményként kapott interaktív munkamenetben megtalálhatja a hibakereséshez használni kívánt futtatóteret a Get-Runspacefuttatásával, majd a futtatókörnyezet hibakeresésével.
PS C:\> Enter-PSHostProcess -Name powershell_ise
[Process:1520]: PS C:\> Get-Runspace
Id Name InstanceId State Availability
-- ------- ----------- ------ -------------
1 Runspace1 2d91211d-9cce-42f0-ab0e-71ac258b32b5 Opened Available
2 Runspace2 a3855043-cb16-424a-a616-685360c3763b Opened RemoteDebug
3 MyLocalRS 2236dbd8-2105-4dec-a15a-a27d0bfaacb5 Opened LocalDebug
4 MyRunspace 771356e9-8c44-4b70-9de5-dd17cb41e48e Opened Busy
5 Runspace8 3e517382-a97a-49ba-9c3c-fd21f6664288 Broken None
2. példa: Adott futtatótér hibakeresése
Ezután hibakeresést végezhet a 4. futtatótér-azonosítóval, amely egy másik felhasználó hosszú ideig futó szkriptjét futtatja. A Get-Runspacevisszaadott listából vegye figyelembe, hogy a futtatótér Állapot meg van nyitva, és rendelkezésre állási foglalt, ami azt jelenti, hogy a futtatótér továbbra is a hosszú ideig futó szkriptet futtatja. A Get-Runspace által visszaadott runspace-objektumok rendelkeznek egy NoteProperty is, amelyet ScriptStackTrace a futó parancsveremhez, ha elérhető.
[Process:1520]: PS C:\> (Get-Runspace -Id 4).ScriptStackTrace
Command Arguments Location
------- --------- --------
MyModuleWorkflowF1 {} TestNoFile3.psm1: line 6
WFTest1 {} TestNoFile2.ps1: line 14
TestNoFile2.ps1 {} TestNoFile2.ps1: line 22
<ScriptBlock> {} <No file>
[Process: 1520]: PS C:\> Debug-Runspace -Id 4
Hit Line breakpoint on 'C:\TestWFVar1.ps1:83'
At C:\TestWFVar1.ps1:83 char:1
+ $scriptVar = "Script Variable"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[Process: 1520]: [RSDBG: 4]: PS C:\>
A Debug-Runspace parancsmag futtatásával interaktív hibakeresési munkamenetet indíthat ezzel a futtatótérrel.
3. példa: A hibakeresési munkamenet befejezése és kilépés
A hibakeresés befejezése után engedélyezze a szkript futtatását anélkül, hogy a hibakereső a kilépési hibakereső parancs futtatásával csatlakozik. Másik lehetőségként a q vagy a Stop parancsokkal is kiléphet a hibakeresőből.
Ha végzett a folyamattal, lépjen ki a folyamatból a Exit-PSHostProcess parancsmag futtatásával. Ezzel visszakerül a PS C:\> parancssorba.
[Process:346]: [RSDBG: 3]: PS C:\> exit
[Process:1520]: PS C:\>
[Process:1520]: PS C:\> Exit-PSHostProcess
PS C:\>
Paraméterek
-AppDomainName
Megadja az alkalmazás tartománynevét, amelyhez csatlakozni szeretne, ha nincs megadva, DefaultAppDomainhasznál. Az alkalmazás tartományneveinek megjelenítése Get-PSHostProcessInfo használatával.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | DefaultAppDomain |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
ProcessIdParameterSet
| Position: | 1 |
| 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 |
ProcessParameterSet
| Position: | 1 |
| 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 |
ProcessNameParameterSet
| Position: | 1 |
| 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 |
PSHostProcessInfoParameterSet
| Position: | 1 |
| 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 |
-CustomPipeName
Lekéri vagy beállítja az egyéni elnevezett csőnevet, amelyhez csatlakozni szeretne. Ezt általában a pwsh -CustomPipeNameegyütt használják.
Ez a paraméter a PowerShell 6.2-ben lett bevezetve.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
PipeNameParameterSet
| 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 |
-HostProcessInfo
Egy PSHostProcessInfo objektumot ad meg, amely a PowerShell-lel csatlakoztatható. Az objektum lekéréséhez használja a Get-PSHostProcessInfo.
Paramétertulajdonságok
| Típus: | PSHostProcessInfo |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
PSHostProcessInfoParameterSet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Id
Egy folyamatot a folyamatazonosító alapján határoz meg. Folyamatazonosító lekéréséhez futtassa a Get-Process parancsmagot.
Paramétertulajdonságok
| Típus: | Int32 |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
ProcessIdParameterSet
| Position: | 0 |
| 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 |
-Name
Egy folyamatot a folyamat neve alapján határoz meg. A folyamatnév lekéréséhez futtassa a Get-Process parancsmagot. Folyamatneveket a Feladatkezelőben lévő folyamat Tulajdonságok párbeszédpanelén is lekérhet.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
ProcessNameParameterSet
| Position: | 0 |
| 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 |
-Process
A folyamatobjektum által megadott folyamat. Ennek a paraméternek a legegyszerűbb módja egy Get-Process parancs eredményeinek mentése, amely visszaadja a változóba bevinni kívánt folyamatot, majd ennek a paraméternek az értékeként adja meg a változót.
Paramétertulajdonságok
| Típus: | Process |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
ProcessParameterSet
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | True |
| 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
Process
Jegyzetek
Enter-PSHostProcess nem adhatja meg annak a PowerShell-munkamenetnek a folyamatát, amelyben a parancsot futtatja. Megadhat azonban egy másik PowerShell-munkamenetet, vagy egy Olyan PowerShell ISE-munkamenetet, amely a Enter-PSHostProcessfuttatási munkamenetével egy időben fut.
Enter-PSHostProcess csak a PowerShellt futtató folyamatokat adhatja meg. Vagyis betöltötték a PowerShell-motort.
Ha ki szeretne lépni egy folyamatból, írja be kilépési, majd nyomja le Enterbillentyűt.
A PowerShell 7.1-et megelőzően az SSH-val való újraegyezés nem támogatja a másodlagos ugrásos távoli munkameneteket. Ez a képesség a WinRM-t használó munkamenetekre korlátozódott. A PowerShell 7.1 lehetővé teszi, hogy Enter-PSSession és Enter-PSHostProcess bármilyen interaktív távoli munkameneten belül működjön.