Sdílet prostřednictvím


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 Enter-PSHostProcess, abyste se mohli připojit k místnímu procesu ve vzdálené relaci Prostředí Windows PowerShell.

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 Enter-PSHostProcess, abyste se mohli připojit k místnímu procesu ve vzdálené relaci Prostředí Windows PowerShell.

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 Enter-PSHostProcess, abyste se mohli připojit k místnímu procesu ve vzdálené relaci Prostředí Windows PowerShell.

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.