次の方法で共有


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

コマンドレットを実行する前に確認を求めるメッセージが表示されます。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:cf

パラメーター セット

(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