Enter-PSHostProcess
Bağlan ve yerel bir işlemle etkileşimli bir oturuma girer.
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
Enter-PSHostProcess
cmdlet'i bağlanır ve yerel bir işlemle etkileşimli bir 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ını numaralandırabilir ve ardından veya Enable-RunspaceDebug
komutunu çalıştırarak Debug-Runspace
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önetici istrators 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 cmdlet Enter-PSHostProcess
, uzak bir PowerShell oturumundaki yerel işleme ekleyebilmeniz için belirtilen uzak bilgisayarda etkinleştirilir.
Ö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 komutunu çalıştıracaksınız Enter-PSHostProcess
. Sonuçta elde edilen etkileşimli oturumda, komutunu çalıştırarak Get-Runspace
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. 'den Get-Runspace
döndürülen listeden, çalışma alanı Durumunun Açık ve Kullanılabilirlik'in Meşgul olduğunu, yani çalışma alanının hala uzun süre çalışan betiği çalıştırdığını unutmayın. tarafından Get-Runspace
döndürülen runspace nesneleri, varsa çalışan komut yığınının ScriptStackTrace adlı bir NoteProperty'sine de sahiptir.
[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:\>
cmdlet'ini çalıştırarak Debug-Runspace
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, cmdlet'ini çalıştırarak işlemden Exit-PSHostProcess
çıkın. Bu, sizi istemine PS C:\>
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, DefaultAppDomain kullanır. Uygulama etki alanı adlarını görüntülemek için kullanın Get-PSHostProcessInfo
.
Type: | String |
Position: | 1 |
Default value: | DefaultAppDomain |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CustomPipeName
Bağlanacak özel adlandırılmış kanal adını alır veya ayarlar. Bu genellikle ile pwsh -CustomPipeName
birlikte kullanılır.
Bu parametre PowerShell 6.2'de kullanıma sunulmuştur.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HostProcessInfo
PowerShell ile bağlanabilecek bir PSHostProcessInfo nesnesi belirtir. nesnesini almak için kullanın Get-PSHostProcessInfo
.
Type: | PSHostProcessInfo |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Id
İşlem kimliğine göre bir işlem belirtir. İşlem kimliğini almak için cmdlet'ini Get-Process
çalıştırın.
Type: | Int32 |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
İşlem adına göre bir işlem belirtir. İşlem adı almak için cmdlet'ini Get-Process
çalıştırın. Görev Yöneticisi'ndeki bir işlemin Özellikler iletişim kutusundan da işlem adlarını alabilirsiniz.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Process
İşlem nesnesi tarafından bir işlem belirtir. Bu parametreyi kullanmanın en basit yolu, bir değişkene girmek istediğiniz işlemi döndüren bir Get-Process
komutun sonuçlarını kaydetmek ve ardından değişkeni bu parametrenin değeri olarak belirtmektir.
Type: | Process |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Girişler
Notlar
Enter-PSHostProcess
komutunu çalıştırdığınız PowerShell oturumunun işlemini giremiyor. Ancak, başka bir PowerShell oturumunun veya çalıştırdığınız oturumla aynı anda çalışan bir PowerShell ISE oturumunun Enter-PSHostProcess
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.
İşlemin içinden bir işlemden çıkmak için exit yazın ve Enter tuşuna 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, tüm etkileşimli uzak oturumların içinden çalışmasına izin verirEnter-PSSession
.Enter-PSHostProcess
İlişkili Bağlantılar
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin