Enter-PSHostProcess

Csatlakozás interaktív munkamenetbe lép be egy helyi folyamattal.

Syntax

Enter-PSHostProcess
     [-Id] <Int32>
     [[-AppDomainName] <String>]
     [<CommonParameters>]
Enter-PSHostProcess
     [-Process] <Process>
     [[-AppDomainName] <String>]
     [<CommonParameters>]
Enter-PSHostProcess
     [-Name] <String>
     [[-AppDomainName] <String>]
     [<CommonParameters>]
Enter-PSHostProcess
     [-HostProcessInfo] <PSHostProcessInfo>
     [[-AppDomainName] <String>]
     [<CommonParameters>]
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 futtatóteret a hibakereséshez.Debug-RunspaceEnable-RunspaceDebug

A beírni kívánt folyamatnak a PowerShellt (System.Management.Automation.dll) kell üzemeltetnie. Az Rendszergazda istrators csoport tagjának kell lennie azon a számítógépen, amelyen a folyamat található, vagy önnek kell lennie a folyamatot létrehozó szkriptet futtató felhasználónak.

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 csak egy folyamat található a megadott névvel, 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 I Standard kiadás folyamaton belül

Ebben a példában a PowerShell-konzolon belül futtatva Enter-PSHostProcess adja meg a PowerShell I Standard kiadás folyamatot. Az eredményként kapott interaktív munkamenetben megtalálhatja a hibakereséshez Get-Runspacehasználni kívánt futtatókörnyezetet, majd hibakeresést végezhet a futtatókörnyezetben.

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 visszaadott listából Get-Runspacevegye figyelembe, hogy a futtatókörnyezet állapota meg van nyitva, a rendelkezésre állás pedig foglalt, ami azt jelenti, hogy a futtatótér továbbra is a hosszú ideig futó szkriptet futtatja. A visszaadott Get-Runspace runspace-objektumok rendelkeznek a futó parancsverem ScriptStackTrace nevű NoteProperty nevű objektumával is, ha vannak ilyenek.

[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:\>

Ezzel a futtatótérrel interaktív hibakeresési munkamenetet indíthat a Debug-Runspace parancsmag futtatásával.

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. Ez visszaadja a kérést PS C:\> .

[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, a DefaultAppDomaint használja. Az alkalmazás tartományneveinek megjelenítésére használható Get-PSHostProcessInfo .

Type:String
Position:1
Default value:DefaultAppDomain
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CustomPipeName

Lekéri vagy beállítja az egyéni elnevezett csőnevet, amelyhez csatlakozni szeretne. Ezt általában a következővel pwsh -CustomPipeNameegyütt használják: .

Ez a paraméter a PowerShell 6.2-ben lett bevezetve.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-HostProcessInfo

A PowerShellhez csatlakoztatható PSHostProcessInfo objektumot adja meg. Az objektum lekérésére használható Get-PSHostProcessInfo .

Type:PSHostProcessInfo
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Id

Egy folyamatot a folyamatazonosító alapján határoz meg. A folyamatazonosító lekéréséhez futtassa a Get-Process parancsmagot.

Type:Int32
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Process

A folyamatobjektum által megadott folyamat. Ennek a paraméternek a legegyszerűbb módja egy Get-Process olyan 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.

Type:Process
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

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 PowerShell I Standard kiadás munkamenetet, amely az éppen futó Enter-PSHostProcessmunkamenetével egy időben fut.

Enter-PSHostProcess csak azokat a folyamatokat tudja megadni, amelyek a PowerShellt üzemeltetik. Vagyis betöltötték a PowerShell-motort.

Ha ki szeretne lépni egy folyamatból a folyamatból, írja be a kilépést, majd nyomja le az Enter billentyű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 bármilyen interaktív távoli munkameneten belül lehetővé teszi Enter-PSSession és Enter-PSHostProcess használható.