Debug-Job
実行中のバックグラウンド ジョブまたはリモート ジョブをデバッグします。
構文
JobParameterSet (既定)
Debug-Job
[-Job] <Job>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
JobNameParameterSet
Debug-Job
[-Name] <String>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
JobIdParameterSet
Debug-Job
[-Id] <Int32>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
JobInstanceIdParameterSet
Debug-Job
[-InstanceId] <Guid>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Debug-Job
コマンドレットを使用すると、ジョブ内で実行されているスクリプトをデバッグできます。 このコマンドレットは、リモート セッションで実行されている PowerShell ワークフロー ジョブ、バックグラウンド ジョブ、ジョブをデバッグするように設計されています。
Debug-Job
は、実行中のジョブ オブジェクト、名前、ID、またはインスタンス ID を入力として受け入れ、実行中のスクリプトでデバッグ セッションを開始します。 デバッガー quit
コマンドは、ジョブとスクリプトの実行を停止します。
exit
コマンドはデバッガーをデタッチし、ジョブの実行を続行できるようにします。
例
例 1: ジョブ ID でジョブをデバッグする
このコマンドは、ID が 3 の実行中のジョブを中断します。
Debug-Job -Id 3
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
3 Job3 RemoteJob Running True PowerShellIx TestWFDemo1.ps1
Entering debug mode. Use h or ? for help.
Hit Line breakpoint on 'C:\TestWFDemo1.ps1:8'
At C:\TestWFDemo1.ps1:8 char:5
+ Write-Output -InputObject "Now writing output:"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[DBG:PowerShellIx]: PS C:\> > list
3:
4: workflow SampleWorkflowTest
5: {
6: param ($MyOutput)
7:
8:* Write-Output -InputObject "Now writing output:"
9: Write-Output -Input $MyOutput
10:
11: Write-Output -InputObject "Get PowerShell process:"
12: Get-Process -Name powershell
13:
14: Write-Output -InputObject "Workflow function complete."
15: }
16:
17: # Call workflow function
18: SampleWorkflowTest -MyOutput "Hello"
パラメーター
-BreakAll
デバッガーがアタッチされると、現在の場所ですぐに中断することができます。
このパラメーターは PowerShell 7.2 で追加されました。
パラメーターのプロパティ
型: | SwitchParameter
|
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
(All)
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
パラメーターのプロパティ
パラメーター セット
(All)
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-Id
実行中のジョブの ID 番号を指定します。 ジョブの ID 番号を取得するには、Get-Job
コマンドレットを実行します。
パラメーターのプロパティ
型: | Int32
|
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
JobIdParameterSet
配置: | 0 |
必須: | True |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-InstanceId
実行中のジョブのインスタンス ID GUID を指定します。
パラメーターのプロパティ
型: | Guid
|
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
JobInstanceIdParameterSet
配置: | 0 |
必須: | True |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-Job
実行中のジョブ オブジェクトを指定します。 このパラメーターを使用する最も簡単な方法は、デバッグする実行中のジョブを返す Get-Job
コマンドの結果を変数に保存し、その変数をこのパラメーターの値として指定することです。
パラメーターのプロパティ
型: | Job
|
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
JobParameterSet
配置: | 0 |
必須: | True |
パイプラインからの値: | True |
プロパティ名別のパイプラインからの値: | True |
残りの引数からの値: | False |
-Name
ジョブのフレンドリ名でジョブを指定します。 ジョブを開始するときに、 や Invoke-Command
などのコマンドレットに Start-Job
パラメーターを追加することで、ジョブ名を指定できます。
パラメーターのプロパティ
型: | String
|
規定値: | None |
ワイルドカードのサポート: | False |
DontShow: | False |
パラメーター セット
JobNameParameterSet
配置: | 0 |
必須: | True |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
パラメーターのプロパティ
型: | SwitchParameter
|
規定値: | False |
ワイルドカードのサポート: | False |
DontShow: | False |
Aliases: | ウィスコンシン |
パラメーター セット
(All)
配置: | Named |
必須: | False |
パイプラインからの値: | False |
プロパティ名別のパイプラインからの値: | False |
残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。
System.Management.Automation.RemotingJob