次の方法で共有


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

入力

ScheduledJobDefinition

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

出力

ScheduledJobOptions