Enter-PSHostProcess
Připojí se k interaktivní relaci s místním procesem a vstoupí do této interaktivní relace.
Syntax
ProcessIdParameterSet (Výchozí)
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>]
Description
Rutina Enter-PSHostProcess se připojí k interaktivní relaci s místním procesem a vstoupí do interaktivní relace.
Místo vytvoření nového procesu pro hostování Prostředí Windows PowerShell a spuštění vzdálené relace se vzdálená interaktivní relace spustí v existujícím procesu, na kterém už běží Windows PowerShell. Při interakci se vzdálenou relací v zadaném procesu můžete vytvořit výčet spuštěných prostředí runspace a pak vybrat runspace, který chcete ladit spuštěním Debug-Runspace nebo Enable-RunspaceDebug.
Proces, který chcete zadat, musí být hostitelem Prostředí Windows PowerShell (System.Management.Automation.dll). Musíte být členem skupiny Administrators v počítači, na kterém je proces nalezen, nebo musíte být uživatelem, který spouští skript, který proces spustil.
Jakmile vyberete runspace pro ladění, otevře se vzdálená ladicí relace pro runspace, pokud právě spouští příkaz nebo je zastavena v ladicím programu. Skript runspace pak můžete ladit stejným způsobem jako jiné vzdálené skripty relace.
Odpojte od ladicí relace a potom interaktivní relaci s procesem, spuštěním ukončení dvakrát nebo zastavením spouštění skriptu spuštěním existujícího ladicího programu ukončete příkaz.
Pokud zadáte proces pomocí parametru Name a existuje pouze jeden proces se zadaným názvem, proces se zadá. Pokud se najde více procesů se zadaným názvem, Windows PowerShell vrátí chybu a zobrazí seznam všech nalezených procesů se zadaným názvem.
Aby bylo možné podporovat připojení k procesům na vzdálených počítačích, je v zadaném vzdáleném počítači povolená rutina
Příklady
Příklad 1: Spuštění ladění prostředí Runspace v procesu prostředí Windows PowerShell ISE
V tomto příkladu spustíte Enter-PSHostProcess z konzoly Windows PowerShell a vstoupíte do procesu Integrované skriptovací prostředí (ISE) v prostředí Windows PowerShell. Ve výsledné interaktivní relaci můžete najít prostředí runspace, které chcete ladit spuštěním příkazu Get-Runspace, a pak prostředí runspace ladit.
PS C:\> Enter-PSHostProcess -Name powershell_ise
[Process:1520]: PS C:\Test\Documents>
Next, get available runspaces within the process you have entered.
PS C:\> [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
# The runspace objects returned by **Get-Runspace** also have a NoteProperty
# called **ScriptStackTrace** of the running command stack, if available.Next,
# debug runspace ID 4, that is running another user's long-running script. From
# the list returned from **Get-Runspace**, note that the runspace state is
# **Opened**, and **Availability** is **Busy**, meaning that the runspace is
# still running the long-running script.
PS C:\> [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>
# Start an interactive debugging session with this runspace by running the
# Debug-Runspace cmdlet.
PS C:\> [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:\> >
# After you are finished debugging, allow the script to continue running without
# the debugger attached by running the **exit** debugger command. Alternatively,
# you can quit the debugger with the **q** or **Stop** commands.
PS C:\> [Process:346]: [RSDBG: 3]: PS C:\> > exit
[Process:1520]: PS C:\>
# When you are finished working in the process, exit the process by running the
# Exit-PSHostProcess cmdlet. This returns you to the PS C:\> prompt.
PS C:\> [Process:1520]: PS C:\> Exit-PSHostProcess
PS C:\>
Parametry
-AppDomainName
Rutina Enter-PSHostProcess se připojí k interaktivní relaci s místním procesem a vstoupí do interaktivní relace.
Místo vytvoření nového procesu pro hostování Prostředí Windows PowerShell a spuštění vzdálené relace se vzdálená interaktivní relace spustí v existujícím procesu, na kterém už běží Windows PowerShell. Při interakci se vzdálenou relací v zadaném procesu můžete vytvořit výčet spuštěných prostředí runspace a pak vybrat runspace, který chcete ladit spuštěním Debug-Runspace nebo Enable-RunspaceDebug.
Proces, který chcete zadat, musí být hostitelem Prostředí Windows PowerShell (System.Management.Automation.dll). Musíte být členem skupiny Administrators v počítači, na kterém je proces nalezen, nebo musíte být uživatelem, který spouští skript, který proces spustil.
Jakmile vyberete runspace pro ladění, otevře se vzdálená ladicí relace pro runspace, pokud právě spouští příkaz nebo je zastavena v ladicím programu. Skript runspace pak můžete ladit stejným způsobem jako jiné vzdálené skripty relace.
Odpojte od ladicí relace a potom interaktivní relaci s procesem, spuštěním ukončení dvakrát nebo zastavením spouštění skriptu spuštěním existujícího ladicího programu ukončete příkaz.
Pokud zadáte proces pomocí parametru Name a existuje pouze jeden proces se zadaným názvem, proces se zadá. Pokud se najde více procesů se zadaným názvem, Windows PowerShell vrátí chybu a zobrazí seznam všech nalezených procesů se zadaným názvem.
Aby bylo možné podporovat připojení k procesům na vzdálených počítačích, je v zadaném vzdáleném počítači povolená rutina
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | 1 |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-HostProcessInfo
Rutina Enter-PSHostProcess se připojí k interaktivní relaci s místním procesem a vstoupí do interaktivní relace.
Místo vytvoření nového procesu pro hostování Prostředí Windows PowerShell a spuštění vzdálené relace se vzdálená interaktivní relace spustí v existujícím procesu, na kterém už běží Windows PowerShell. Při interakci se vzdálenou relací v zadaném procesu můžete vytvořit výčet spuštěných prostředí runspace a pak vybrat runspace, který chcete ladit spuštěním Debug-Runspace nebo Enable-RunspaceDebug.
Proces, který chcete zadat, musí být hostitelem Prostředí Windows PowerShell (System.Management.Automation.dll). Musíte být členem skupiny Administrators v počítači, na kterém je proces nalezen, nebo musíte být uživatelem, který spouští skript, který proces spustil.
Jakmile vyberete runspace pro ladění, otevře se vzdálená ladicí relace pro runspace, pokud právě spouští příkaz nebo je zastavena v ladicím programu. Skript runspace pak můžete ladit stejným způsobem jako jiné vzdálené skripty relace.
Odpojte od ladicí relace a potom interaktivní relaci s procesem, spuštěním ukončení dvakrát nebo zastavením spouštění skriptu spuštěním existujícího ladicího programu ukončete příkaz.
Pokud zadáte proces pomocí parametru Name a existuje pouze jeden proces se zadaným názvem, proces se zadá. Pokud se najde více procesů se zadaným názvem, Windows PowerShell vrátí chybu a zobrazí seznam všech nalezených procesů se zadaným názvem.
Aby bylo možné podporovat připojení k procesům na vzdálených počítačích, je v zadaném vzdáleném počítači povolená rutina
Vlastnosti parametru
| Typ: | PSHostProcessInfo |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
PSHostProcessInfoParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Id
Určuje proces podle ID procesu. Id procesu získáte spuštěním rutiny Get-Process.
Vlastnosti parametru
| Typ: | Int32 |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ProcessIdParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Name
Určuje proces podle názvu procesu. Název procesu získáte spuštěním rutiny Get-Process. Názvy procesů můžete získat také z dialogového okna Vlastnosti procesu ve Správci úloh.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ProcessNameParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Process
Určuje proces objektem procesu. Nejjednodušší způsob, jak tento parametr použít, je uložit výsledky příkazu Get-Process, který vrátí proces, který chcete zadat do proměnné, a pak proměnnou zadat jako hodnotu tohoto parametru.
Vlastnosti parametru
| Typ: | Process |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ProcessParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
Process
Poznámky
Enter-PSHostProcess nemůže zadat proces relace Prostředí Windows PowerShell, ve které příkaz spouštíte. Můžete však zadat proces jiné relace Prostředí Windows PowerShell nebo relaci prostředí Windows PowerShell ISE, která je spuštěna ve stejnou dobu jako relace, ve které spouštíte Enter-PSHostProcess.
Enter-PSHostProcess může zadat pouze procesy hostující Windows PowerShell. To znamená, že načetli modul Windows PowerShellu.
Pokud chcete proces ukončit z procesu, zadejte exit a stiskněte Enter.