Aracılığıyla paylaş


Enter-PSHostProcess

Yerel bir işlemle etkileşimli bir oturuma bağlanır ve bu oturuma girer.

Sözdizimi

ProcessIdParameterSet EnterprisePublishing

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

Enter-PSHostProcess cmdlet'i yerel bir işlemle etkileşimli bir oturuma bağlanır ve bu oturuma girer. PowerShell 6.2 sürümünden başlayarak, bu cmdlet Windows dışı platformlarda desteklenir.

PowerShell'i barındırmak ve uzak oturum çalıştırmak için yeni bir işlem oluşturmak yerine, uzak, etkileşimli oturum zaten PowerShell çalıştıran mevcut bir işlemde çalıştırılır. Belirtilen bir işlemde uzak oturumla etkileşim kurarken, çalışan çalışma alanları numaralandırabilir ve ardından Debug-Runspace veya Enable-RunspaceDebugçalıştırarak hata ayıklamak için bir çalışma alanı seçebilirsiniz.

Girmek istediğiniz işlem PowerShell 'i (System.Management.Automation.dll) barındırmalıdır. İşlemin bulunduğu bilgisayarda Yöneticiler grubunun üyesi olmanız veya işlemi başlatan betiği çalıştıran kullanıcı olmanız gerekir.

Hata ayıklamak için bir çalışma alanı seçtikten sonra, şu anda bir komut çalıştırıyorsa veya hata ayıklayıcıda durdurulmuşsa, çalışma alanı için bir uzaktan hata ayıklama oturumu açılır. Ardından, diğer uzak oturum betiklerinde hata ayıklama yaptığınız gibi runspace betiğinin hatalarını ayıklayabilirsiniz.

Çıkış işlemini iki kez çalıştırarak hata ayıklama oturumundan ve ardından işlemle etkileşimli oturumdan ayırın veya mevcut hata ayıklayıcıdan çık komutunu çalıştırarak betik yürütmeyi durdurun.

Name parametresini kullanarak bir işlem belirtirseniz ve belirtilen ada sahip tek bir işlem bulunursa işlem girilir. Belirtilen ada sahip birden fazla işlem bulunursa PowerShell bir hata döndürür ve belirtilen adla bulunan tüm işlemleri listeler.

Uzak bilgisayarlardaki işlemlere eklemeyi desteklemek için, Enter-PSHostProcess cmdlet'i belirtilen bir uzak bilgisayarda etkinleştirilir, böylece uzak bir PowerShell oturumundaki yerel işleme iliştirebilirsiniz.

Örnekler

Örnek Bölüm 1: PowerShell ISE işlemi içinde bir çalışma alanının hatalarını ayıklamaya başlama

Bu örnekte, PowerShell ISE işlemini girmek için PowerShell konsolunun içinden Enter-PSHostProcess çalıştıracaksınız. Sonuçta elde edilen etkileşimli oturumda, Get-Runspaceçalıştırarak hata ayıklamak istediğiniz bir çalışma alanı bulabilir ve ardından çalışma alanında hata ayıklayabilirsiniz.

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

Örnek bölüm 2: Belirli bir çalışma alanının hatalarını ayıklama

Ardından, başka bir kullanıcının uzun süre çalışan betiğini çalıştıran runspace id 4'ün hatalarını ayıkla. Get-Runspace'den döndürülen listeden, çalışma alanı Durum Açık ve Kullanılabilirlik Meşgul olduğunu, yani çalışma alanının hala uzun süre çalışan betiği çalıştırdığını unutmayın. Get-Runspace tarafından döndürülen runspace nesnelerinin, varsa çalışan komut yığınının ScriptStackTrace adlı bir NoteProperty de vardır.

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

Debug-Runspace cmdlet'ini çalıştırarak bu runspace ile etkileşimli bir hata ayıklama oturumu başlatın.

Örnek bölüm 3: Hata ayıklama oturumunu bitirme ve çıkış

Hata ayıklamayı tamamladıktan sonra, exit hata ayıklayıcısı komutunu çalıştırarak betiğin hata ayıklayıcı eklenmeden çalışmaya devam etmesi için izin verin. Alternatif olarak, q veya Stop komutlarıyla hata ayıklayıcıdan çıkabilirsiniz.

İşlemde çalışmayı bitirdiğinizde, Exit-PSHostProcess cmdlet'ini çalıştırarak işlemden çıkın. Bu işlem sizi PS C:\> istemine döndürür.

[Process:346]: [RSDBG: 3]: PS C:\> exit
[Process:1520]: PS C:\>
[Process:1520]: PS C:\>  Exit-PSHostProcess
PS C:\>

Parametreler

-AppDomainName

Atlanırsa bağlanacak bir uygulama etki alanı adı belirtir, DefaultAppDomainkullanır. Uygulama etki alanı adlarını görüntülemek için Get-PSHostProcessInfo kullanın.

Parametre özellikleri

Tür:String
Default value:DefaultAppDomain
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ProcessIdParameterSet
Position:1
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ProcessParameterSet
Position:1
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
ProcessNameParameterSet
Position:1
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False
PSHostProcessInfoParameterSet
Position:1
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-CustomPipeName

Bağlanacak özel adlandırılmış kanal adını alır veya ayarlar. Bu genellikle pwsh -CustomPipeNameile birlikte kullanılır.

Bu parametre PowerShell 6.2'de kullanıma sunulmuştur.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

PipeNameParameterSet
Position:Named
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-HostProcessInfo

PowerShell ile bağlanabilen bir PSHostProcessInfo nesnesi belirtir. Nesneyi almak için Get-PSHostProcessInfo kullanın.

Parametre özellikleri

Tür:PSHostProcessInfo
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

PSHostProcessInfoParameterSet
Position:0
Zorunlu:True
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Id

İşlem kimliğine göre bir işlem belirtir. İşlem kimliği almak için Get-Process cmdlet'ini çalıştırın.

Parametre özellikleri

Tür:Int32
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ProcessIdParameterSet
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Name

İşlem adına göre bir işlem belirtir. İşlem adı almak için Get-Process cmdlet'ini çalıştırın. Görev Yöneticisi'ndeki bir işlemin Özellikler iletişim kutusundan da işlem adlarını alabilirsiniz.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ProcessNameParameterSet
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Process

Bir işlemi işlem nesnesi belirler. Bu parametreyi kullanmanın en basit yolu, bir değişkene girmek istediğiniz işlemi döndüren bir Get-Process komutunun sonuçlarını kaydetmek ve değişkeni bu parametrenin değeri olarak belirtmektir.

Parametre özellikleri

Tür:Process
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

ProcessParameterSet
Position:0
Zorunlu:True
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

Girişler

Process

Notlar

Enter-PSHostProcess, komutunu çalıştırdığınız PowerShell oturumunun işlemini giremez. Ancak, başka bir PowerShell oturumunun veya Enter-PSHostProcessçalıştırdığınız oturumla aynı anda çalışan bir PowerShell ISE oturumunun işlemini girebilirsiniz.

Enter-PSHostProcess yalnızca PowerShell'i barındıran işlemleri girebilir. Başka bir ifadeyle PowerShell altyapısını yüklediler.

İşlemden çıkmak için, exityazın ve enter basın.

PowerShell 7.1'den önce, SSH üzerinden uzaktan iletişim ikinci atlama uzak oturumlarını desteklemedi. Bu özellik WinRM kullanan oturumlarla sınırlıydı. PowerShell 7.1, Enter-PSSession ve Enter-PSHostProcess herhangi bir etkileşimli uzak oturumdan çalışmasına olanak tanır.