Debug-Runspace
Runspace ile etkileşimli bir hata ayıklama oturumu başlatır.
Sözdizimi
RunspaceParameterSet EnterprisePublishing
Debug-Runspace
[-Runspace] <Runspace>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
NameParameterSet
Debug-Runspace
[-Name] <String>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
IdParameterSet
Debug-Runspace
[-Id] <Int32>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceIdParameterSet
Debug-Runspace
[-InstanceId] <Guid>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Debug-Runspace cmdlet'i, yerel veya uzak etkin bir çalışma alanıyla etkileşimli bir hata ayıklama oturumu başlatır. Hata ayıklamak istediğiniz bir çalışma boşluğunu bulmak için önce PowerShell ile ilişkili işlemleri bulmak üzere Get-Process çalıştırabilir, ardından Enter-PSHostProcess parametresinde belirtilen işlem kimliğiyle işleme bağlanmak için çalıştırabilir ve son olarak PowerShell ana bilgisayar işlemi içindeki çalışma boşluklarını listelemek için Get-Runspace çalıştırabilirsiniz.
Hata ayıklamak için bir çalışma alanı seçtikten sonra, çalışma alanı şu anda bir komut veya betik çalıştırıyorsa veya betik bir kesme noktasında durdurulduysa PowerShell, çalışma alanı için bir uzak hata ayıklayıcı oturumu açar. Runspace betiğini, uzaktan oturum betiklerinin hataları ayıklandığı şekilde ayıklayabilirsiniz.
PowerShell ana bilgisayar işlemine yalnızca, işlemi çalıştıran bilgisayarda yöneticiyseniz veya hata ayıklamak istediğiniz betiği çalıştırıyorsanız bağlanabilirsiniz. Ayrıca, geçerli PowerShell oturumunu çalıştıran konak işlemini giremezsiniz. Yalnızca farklı bir PowerShell oturumu çalıştıran bir konak işlemi girebilirsiniz.
Örnekler
Örnek 1: Uzak çalışma alanının hatalarını ayıklama
Bu örnekte, WS10TestServer adlı uzak bilgisayarda açık olan bir çalışma alanında hata ayıklaacaksınız. Komutun ilk satırında, uzak bilgisayarda Get-Process çalıştırır ve Windows PowerShell ana bilgisayar işlemleri için filtre kullanırsınız. Bu örnekte, Windows PowerShell ISE konak işlemi olan 1152 işlem kimliğinin hatalarını ayıklamak istiyorsunuz.
PS C:\> Get-Process -ComputerName "WS10TestServer" -Name "*powershell*"
Handles WS(K) VM(M) CPU(s) Id ProcessName
------- ----- ----- ------ -- -----------
377 69912 63 2.09 2420 powershell
399 123396 829 4.48 1152 powershell_ise
PS C:\> Enter-PSSession -ComputerName "WS10TestServer"
[WS10TestServer]:PS C:\> Enter-PSHostProcess -Id 1152
[WS10TestServer:][Process:1152]: PS C:\Users\Test\Documents> Get-Runspace
Id Name ComputerName Type State Availability
-- ---- ------------ ---- ----- ------------
1 Runspace1 WS10TestServer Remote Opened Available
2 RemoteHost WS10TestServer Remote Opened Busy
[WS10TestServer][Process:1152]: PS C:\Users\Test\Documents> Debug-Runspace -Id 2
Hit Line breakpoint on 'C:\TestWFVar1.ps1:83'
At C:\TestWFVar1.ps1:83 char:1
+ $scriptVar = "Script Variable"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[Process:1152]: [RSDBG: 2]: PS C:\> >
İkinci komutta Enter-PSSession çalıştırarak WS10TestServer'da bir uzak oturum açarsınız. Üçüncü komutta, Enter-PSHostProcessçalıştırarak ve ilk komut olan 1152'de edindiğiniz konak işleminin kimliğini belirterek uzak sunucuda çalışan Windows PowerShell ISE konak işlemine eklersiniz.
Dördüncü komutta, Get-Runspaceçalıştırarak 1152 işlem kimliği için kullanılabilir runspace'ları listelersiniz.
Meşgul çalışma alanının (runspace) kimlik numarasını not alırsınız; hata ayıklamak istediğiniz bir betik çalıştırıyor.
Son komutta, TestWFVar1.ps1çalıştırarak ve Debug-Runspace parametresini ekleyerek, betiği çalıştıran açık bir runspace üzerinde hata ayıklamaya ve runspace'i 2 kimliğiyle tanımlamaya başlarsınız. Betikte bir kesme noktası olduğundan hata ayıklayıcı açılır.
Parametreler
-BreakAll
Hata ayıklayıcı bağlandığında, mevcut konumda hemen durmanıza olanak tanır.
Bu parametre PowerShell 7.2'ye eklendi.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| 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 |
-Confirm
Cmdlet'i çalıştırmadan önce sizden onay ister.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | True |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Cf |
Parametre kümeleri
(All)
| Position: | Named |
| 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 |
-Id
Bir çalışma alanının kimlik numarasını belirtir. Çalışma alanı kimliklerini göstermek için Get-Runspace çalıştırabilirsiniz.
Parametre özellikleri
| Tür: | Int32 |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
IdParameterSet
| 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 |
-InstanceId
Get-Runspaceçalıştırarak gösterebileceğiniz bir GUID olan örnek kimliğine göre bir çalışma alanı belirtir.
Parametre özellikleri
| Tür: | Guid |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
InstanceIdParameterSet
| 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
Bir çalışma ortamını adına göre belirtir.
Get-Runspace çalıştırarak çalışma alanı adlarını gösterebilirsiniz.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
NameParameterSet
| 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 |
-Runspace
Bir runspace nesnesi belirtir. Bu parametre için değer sağlamanın en basit yolu, filtrelenmiş bir Get-Runspace komutunun sonuçlarını içeren bir değişken belirtmektir.
Parametre özellikleri
| Tür: | Runspace |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
RunspaceParameterSet
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | True |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-WhatIf
Cmdlet çalıştırılırsa ne olacağını gösterir. Cmdlet çalıştırılmaz.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | True |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Wi |
Parametre kümeleri
(All)
| Position: | Named |
| 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 |
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
Runspace
bir Get-Runspace komutunun sonuçlarını bu cmdlet'e yöneltebilirsiniz.
Notlar
Debug-Runspace, Açık durumdaki çalışma alanları üzerinde çalışır. Bir çalışma alanı durumu Açık durumundan başka bir duruma dönüşürse, bu çalışma alanı çalışan listeden otomatik olarak kaldırılır. Yalnızca aşağıdaki ölçütleri karşılayan bir runspace çalışma listesine eklenir.
- Invoke-Command'dan geliyorsa; diğer bir ifadeyle
Invoke-CommandGUID kimliğine sahiptir. - Şayet
Debug-Runspace'dan geliyorsa; yaniDebug-RunspaceGUID'si vardır. - Bir PowerShell iş akışından geliyorsa ve iş akışı iş kimliği geçerli etkin hata ayıklayıcı iş akışı iş kimliğiyle aynıysa.