Get-ScheduledJobOption
スケジュールされたジョブのジョブ オプションを取得します。
構文
Get-ScheduledJobOption
[-InputObject] <ScheduledJobDefinition>
[<CommonParameters>]
Get-ScheduledJobOption
[-Id] <Int32>
[<CommonParameters>]
Get-ScheduledJobOption
[-Name] <String>
[<CommonParameters>]
説明
Get-ScheduledJobOption コマンドレットは、スケジュールされたジョブのジョブ オプションを取得します。 このコマンドを使用して、ジョブ オプションを調べたり、ジョブ オプションを他のコマンドレットにパイプしたりできます。
ジョブ オプションは、個別にディスクに保存されません。これらはスケジュールされたジョブの一部です。 スケジュールされたジョブのジョブ オプションを取得するには、スケジュールされたジョブを指定します。
Get-ScheduledJobOption コマンドレットのパラメーターを使用して、スケジュールされたジョブを識別します。 スケジュールされたジョブは、名前または識別番号で識別するか、Get-ScheduledJob コマンドレットによって返されるオブジェクトなどの ScheduledJob オブジェクトを Get-ScheduledJobOption に入力またはパイプ処理することで識別できます。
Get-ScheduledJobOption は、Windows PowerShell に含まれる PSScheduledJob モジュール内のジョブ スケジューリング コマンドレットのコレクションの 1 つです。
スケジュールされたジョブの詳細については、PSScheduledJob モジュールの About トピックを参照してください。
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 コマンドレットを使用します。
型: | Int32 |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InputObject
スケジュールされたジョブを指定します。 ScheduledJob オブジェクトを含む変数を入力するか、Get-ScheduledJob コマンドなど、ScheduledJob オブジェクトを取得するコマンドまたは式を入力します。 また、ScheduledJob オブジェクトを Get-ScheduledJobOption にパイプ処理することもできます。
型: | ScheduledJobDefinition |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Name
スケジュールされたジョブの名前を指定します。 Get-ScheduledJobOption は、指定されたスケジュールされたジョブのジョブ オプションを取得します。 ワイルドカードがサポートされています。
ローカル コンピューターまたはリモート コンピューター上のスケジュールされたジョブの名前を取得するには、Get-ScheduledJob コマンドレットを使用します。
型: | String |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
入力
スケジュールされたジョブを Get-ScheduledJob から Get-ScheduledJobOption にパイプ処理できます。
出力
関連リンク
- スケジュール済みジョブについて
- Add-JobTrigger
- Disable-JobTrigger
- Disable-ScheduledJob
- Enable-JobTrigger
- Enable-ScheduledJob
- Get-JobTrigger
- Get-ScheduledJob
- Get-ScheduledJobOption
- New-JobTrigger
- New-ScheduledJobOption
- Register-ScheduledJob
- Remove-JobTrigger
- Set-JobTrigger
- Set-ScheduledJob
- Set-ScheduledJobOption
- Unregister-ScheduledJob