Share via


Get-ScheduledJobOption

スケジュールされたジョブのジョブ オプションを取得します。

構文

Get-ScheduledJobOption
   [-InputObject] <ScheduledJobDefinition>
   [<CommonParameters>]
Get-ScheduledJobOption
   [-Id] <Int32>
   [<CommonParameters>]
Get-ScheduledJobOption
   [-Name] <String>
   [<CommonParameters>]

説明

Get-ScheduledJobOption コマンドレットは、スケジュールされたジョブのジョブ オプションを取得します。 このコマンドを使用すると、ジョブ オプションを確認することや、パイプを使用してジョブ オプションを他のコマンドレットに渡すことができます。

ジョブ オプションは、スケジュールされたジョブの一部であり、ディスクに単独で保存されるわけではありません。 スケジュールされたジョブのジョブ オプションを取得するには、スケジュールされたジョブを指定します。

Get-ScheduledJobOption コマンドレットのパラメーターを使用して、スケジュールされたジョブを特定します。 スケジュールされたジョブは、名前または識別番号で識別したり、Get-ScheduledJob コマンドレットによって返される ScheduledJob オブジェクトなどの ScheduledJob オブジェクトを Get-ScheduledJobOption に入力したりパイプしたりすることによって識別できます。

Get-ScheduledJobOption は、Windows PowerShellに含まれる PSScheduledJob モジュール内のジョブ スケジューリング コマンドレットのコレクションの 1 つです。

スケジュールされたジョブの詳細については、PSScheduledJob モジュールの概要トピックを参照してください。 PSScheduledJob モジュールをインポートし、「」 Get-Help about_Scheduled* と入力するか、「about_Scheduled_Jobs」を参照してください。

このコマンドレットは、Windows PowerShell 3.0 で導入されました。

例 1: ジョブ オプションを取得する

PS C:\> Get-ScheduledJobOption -Name "*Backup*"
StartIfOnBatteries     : False

StopIfGoingOnBatteries : True

WakeToRun              : False

StartIfNotIdle         : True

StopIfGoingOffIdle     : False

RestartOnIdleResume    : False

IdleDuration           : 00:10:00

IdleTimeout            : 01:00:00

ShowInTaskScheduler    : True

RunElevated            : True

RunWithoutNetwork      : True

DoNotAllowDemandStart  : False

MultipleInstancePolicy : Ignore

NewJobDefinition       : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

このコマンドは、名前に BackUp を含むスケジュールされたジョブのジョブ オプションを取得します。 結果には、Get-ScheduledJobOption から返されたジョブ オプション オブジェクトが示されています。

例 2: すべてのジョブ オプションを取得する

PS C:\> Get-ScheduledJob | Get-ScheduledJobOptions

このコマンドは、ローカル コンピューター上のスケジュールされたすべてのジョブのジョブ オプションを取得します。

Get-ScheduledJob コマンドレットを使用して、ローカル コンピューター上のスケジュールされたジョブを取得します。 パイプライン演算子 (|) により、スケジュールされたジョブを Get-ScheduledJobOptions コマンドレットに渡して、スケジュールされた各ジョブのジョブ オプションを取得します。

例 3: 選択したジョブ オプションを取得する

PS C:\> Get-ScheduledJob | Get-ScheduledJobOption | Where {$_.RunElevated -and !$_.WaketoRun}
StartIfOnBatteries     : False

StopIfGoingOnBatteries : True

WakeToRun              : True

StartIfNotIdle         : True

StopIfGoingOffIdle     : False

RestartOnIdleResume    : False

IdleDuration           : 00:10:00

IdleTimeout            : 01:00:00

ShowInTaskScheduler    : True

RunElevated            : True

RunWithoutNetwork      : True

DoNotAllowDemandStart  : False

MultipleInstancePolicy : Ignore

NewJobDefinition       : Microsoft.PowerShell.ScheduledJob.ScheduledJobDefinition

The second command shows how to find to which scheduled job the job options belong. This command uses a pipeline operator (|) to send the selected job options to the ForEach-Object cmdlet, which gets the JobDefinition property of each options object. The JobDefinition property contains the originating job object. The results show that the selected options came from the DeployPkg scheduled job.
PS C:\> Get-ScheduledJob | Get-ScheduledJobOption | Where {$_.RunElevated -and !$_.WaketoRun} | ForEach-Object {$_.JobDefinition}
Id         Name            Triggers        Command                                  Enabled

--         ----            --------        -------                                  -------

2          DeployPkg         {1, 2}        DeployPackage.ps1                        True

この例では、特定の値でジョブ オプション オブジェクトを検索する方法を示します。

最初のコマンドは、RunElevated プロパティの値が $True で、RunWithoutNetwork プロパティの値が $False であるジョブ オプションを取得します。 出力には、選択された JobOptions オブジェクトが表示されます。

例 4: ジョブ オプションを使用して新しいジョブを作成する

PS C:\> $Opts = Get-ScheduledJobOption -Name "BackupTestLogs"
PS C:\> Register-ScheduledJob -Name "Archive-Scripts" -FilePath "\\Srv01\Scripts\ArchiveScripts.ps1" -ScheduledJobOption $Opts

この例では、Get-ScheduledJobOptions で取得したジョブ オプションをスケジュールされた新しいジョブで使用する方法を示します。

最初のコマンドは、Get-ScheduledJobOptions を使用して、スケジュールされたジョブ BackupTestLogs のジョブ オプションを取得します。 このコマンドは、オプションを $Opts 変数に保存します。

2 番目のコマンドでは、Register-ScheduledJob コマンドレットを使用して、新しいスケジュールされたジョブを作成します。 ScheduledJobOption パラメーターの値は、$Opts 変数内のオプション オブジェクトです。

例 5: リモート コンピューターからジョブ オプションを取得する

PS C:\> $O = Invoke-Command -ComputerName "Srv01" -ScriptBlock {Get-ScheduledJob -Name "DataDemon" }

このコマンドは、Invoke-Command コマンドレットを使用して、Srv01 コンピューター上の DataDemon ジョブのスケジュールされたジョブ オプションを取得します。 コマンドは、オプションを $O 変数に保存します。

パラメーター

-Id

スケジュールされたジョブの識別番号を指定します。 Get-ScheduledJobOption は、指定されたスケジュールされたジョブのジョブ オプションを取得します。

ローカル コンピューターまたはリモート コンピューターでスケジュールされたジョブの識別番号を取得するには、Get-ScheduledJob コマンドレットを使用します。

Type:Int32
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

スケジュールされたジョブを指定します。 ScheduledJob オブジェクトを含む変数を入力するか、または ScheduledJob オブジェクトを取得するコマンドまたは式 (Get-ScheduledJob コマンドなど) を入力します。 パイプを使用して ScheduledJob オブジェクトを Get-ScheduledJobOption に渡すこともできます。

Type:ScheduledJobDefinition
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

スケジュールされたジョブの名前を指定します。 Get-ScheduledJobOption は、指定されたスケジュールされたジョブのジョブ オプションを取得します。 ワイルドカードを利用できます。

ローカル コンピューターまたはリモート コンピューターでスケジュールされたジョブの名前を取得するには、Get-ScheduledJob コマンドレットを使用します。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

入力

ScheduledJobDefinition

スケジュールされたジョブを Get-ScheduledJob から Get-ScheduledJobOption にパイプできます。

出力

ScheduledJobOptions