Windows Server 2012 / 2012 R2 におけるデータ重複除去関連のコマンドレット (Set-DedupSchedule) について

スポンサーリンク

既定ではインストールされていませんが、Windows Server 2012 / 2012 R2 標準の機能としてデータ重複除去というデータの重複を検出し、そのデータの正確さや整合性を損なうことなく削除する機能や PowerShell コマンドレットなどの関連ツールを提供しています。

データ重複除去関連の PowerShell コマンドレットのヘルプに関しては英語のみとなっており、日本語による情報はあまり公開されていません。

ここでは、データ重複除去 に関する PowerShell コマンドレットの 1 つである「Set-DedupSchedule」について、日本語の情報として纏めてみました ((他の PowerShell コマンドレットについては、「Windows Server 2012 / 2012 R2 におけるデータ重複除去関連のコマンドレットについて」を参照)。

※Windows Server 2012 / 2012 R2 と比較した際、内容の相違がほとんどないことから、Windows Server 2012 R2 (内容については「Get-Help」コマンドレットの -Full オプションを用いて実行した結果を編集したものとなります) の情報を元に編集、意訳したものとなります。

■名前

Set-DedupSchedule

■概要

データ重複除去スケジュールに対する構成設定を変更します。

■構文

Set-DedupSchedule [-Name] <String[]> [-AsJob] [-CimSession <CimSession[]>] [-Days <DayOfWeek[]>] [-DurationHours <UInt32>] [-Enabled <Boolean>] [-Full <Boolean>] [-InputOutputThrottleLevel <InputOutputThrottleLevel>] [-Memory <UInt32>] [-PassThru] [-Priority <Priority>] [-ReadOnly <Boolean>] [-Start <DateTime>] [-StopWhenSystemBusy <Boolean>] [-ThrottleLimit <Int32>] [-Type <Type[]>] [<CommonParameters>]

Set-DedupSchedule [-AsJob] [-CimSession <CimSession[]>] [-Days <DayOfWeek[]>] [-DurationHours <UInt32>] [-Enabled <Boolean>] [-Full <Boolean>] [-InputOutputThrottleLevel <InputOutputThrottleLevel>] [-Memory <UInt32>] [-PassThru] [-Priority <Priority>] [-ReadOnly <Boolean>] [-Start <DateTime>] [-StopWhenSystemBusy <Boolean>] [-ThrottleLimit <Int32>] -InputObject <CimInstance[]> [<CommonParameters>]

■説明

Set-DedupSchedule コマンドレットは、1 つ以上のデータ重複除去スケジュールに対する構成設定を変更します。

■パラメーター

-AsJob [<SwitchParameter>]
バックグラウンド ジョブとしてコマンドレットを実行します。完了するまでに長い時間がかかるコマンドを実行するには、このパラメーターを使用します。コマンドレットは、即座にジョブを表すオブジェクトを返し、コマンドプロンプトに表示します。ジョブが完了する間のセッション上で作業を続けることが可能です。ジョブを完了するために、*-Job コマンドレットを使用します。ジョブの結果を取得するために、 Receive-Job コマンドレットを使用します。Windows PowerShell バックグラウンド ジョブに関する詳細な情報は、about_Jobs を参照してください。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-CimSession <CimSession[]>
リモート セッション、もしくはリモート コンピューターでコマンドレットを実行します。New-CimSession コマンドレット、もしくは Get-CimSession コマンドレットの出力として、コンピューター名、もしくはセッション オブジェクトを入力します。既定では、ローカル コンピューター上の現在のセッションです。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-Days <DayOfWeek[]>
サーバーがデータ重複除去ジョブを実行する週の日の配列を指定します。このパラメーターに対する利用可能な値は以下のとおりです。

  • Monday
  • Tuesday
  • Wednesday
  • Thursday
  • Friday
  • Saturday
  • Sunday
必須false
位置named
既定値Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-DurationHours <UInt32>
キャンセルする前にサーバーがタスクを実行する時間の数字を指定します。値 0 は、サーバーが完了するまでジョブを実行することを示しています。このコマンドレットは、安全にデータの重複除去ジョブを停止し、それがジョブをキャンセルするとサーバーが処理しているファイルには影響がありません。

必須false
位置named
既定値2
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-Enabled <Boolean>
データ重複除去スケジュールが有効になっているかどうかを示します。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-Full <Boolean>
Type パラメーターに対して GarbageCollection を指定する場合:
ガーベージ コレクション ジョブは、ボリューム上のすべて削除された、もしくは参照されていないデータの解放を示します。このパラメーターを使用しない場合、ガーベージ コレクション ジョブは削除されたデータのシステム閾値を超えた後、空き容量として開放します。このパラメーターを指定せずに定期的にガーベージ コレクションを実行し、月に一度このパラメーターを指定して再度ガーベージ コレクションを実行することを推奨します。

Type パラメーターに対して Scrubbing を指定する場合:
スクラブ ジョブは、ボリューム上のすべてのデータ整合性を検証することを示します。このコマンドを指定しない場合、スクラブ ジョブはデータ重複除去が以前遭遇した重要なメタデータおよびデータ整合性の問題を検証します。このパラメーターを指定せずに定期的にスクラブを実行し、月に一度このパラメーターを指定して再度スクラブを実行することを推奨します。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-InputObject <CimInstance[]>
このコマンドレットに入力を指定します。このパラメータを使用することも可能であり、このコマンドレットに入力ためにパイプすることができます。

必須true
位置named
既定値none
パイプライン入力を許可するTrue (ByValue)
ワイルドカード文字を許可するfalse

-InputOutputThrottleLevel <InputOutputThrottleLevel>
ジョブが他の I/O 集中型の処理を妨害しないことを確実とするために提供されるジョブのスロットリング I/O 量を指定します。このパラメーターに対する利用可能な値は以下のとおりです。

  • None
  • Low
  • Medium
  • High
必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-Memory <UInt32>
データ重複除去ジョブを使用することができる物理コンピューター メモリの最大パーセンテージを指定します。

最適化ジョブに対して、15 から 50 の範囲および StopWhenSystemBusy を指定するときに実行できるようスケジュールされたジョブに対する高いメモリ消費量を設定することを推奨します。一般的に時間外で実行するようなガーベージ コレクションおよびスクラブ ジョブに対して、50 のような高いメモリ消費量を設定することが可能です。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-Name <String[]>
データ重複除去スケジュール ジョブ名を指定します。

必須true
位置1
既定値none
パイプライン入力を許可するTrue (ByPropertyName)
ワイルドカード文字を許可するfalse

-PassThru [<SwitchParameter>]
作業している項目を表すオブジェクトを返します。既定では、このコマンドレットは出力を生成しません。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-Priority <Priority>
このコマンドレットを使用して実行される最適化ジョブに対する CPU および I/O の優先度を指定します。ジョブに対して StopWhenSystemBusy パラメーターを使用する場合、このパラメーターを High と設定することを推奨します。典型的な最適化ジョブに対しては、このパラメーターを Normal と設定することを推奨します。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-ReadOnly <Boolean>
見つかったが任意の修復オプションを実行しない破損上のスクラブ ジョブの処理およびレポートを示します。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-Start <DateTime>
このジョブを開始するための時刻を指定します。既定値は 1:45am です。

システム ロケールに対する標準となるデータの型は、dd-MM-yyyy (German [Germany]) や MM/dd/yyyy (English [United States]) のようなものです。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-StopWhenSystemBusy <Boolean>
システムがビジーおよび後で実行する場合、サーバーがジョブを停止するよう指定します。ジョブに対して低い優先度を設定するとき、このパラメーターの指定を推奨します。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-ThrottleLimit <Int32>
コマンドレットを実行するために確立できる同時操作の最大数を指定します。このパラメーターが省略、もしくは値 0 が入力された場合、Windows PowerShell は、コンピュータ上で実行されている CIM コマンドレットの数に基づいて、コマンドレットのための最適なスロットル限界を計算します。スロットル限界は、セッションもしくはコンピューターではなく、現在のコマンドレットのみ適用されます。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-Type <Type[]>
データ重複除去ジョブの型を指定します。このパラメーターに対する利用可能な値は以下のとおりです。

  • Optimization
  • GarbageCollection
  • Scrubbing
  • Unoptimization
必須false
位置named
既定値none
パイプライン入力を許可するTrue (ByPropertyName)
ワイルドカード文字を許可するfalse

<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: –Verbose、-Debug、-ErrorAction-ErrorVariable、-WarningAction、-WarningVariable、-OutBuffer、-PipelineVariable、および -OutVariable。詳細については、about_CommonParameters を参照してください。

■入力

  • System.String[]
  • Microsoft.Management.Infrastructure.CimInstance#
  • Microsoft.PowerShell.Cmdletization.GeneratedTypes.DedupSchedule.Type[]

■出力

  • Microsoft.Management.Infrastructure.CimInstance#
    Microsoft.Management.Infrastructure.CimInstance オブジェクトは、Windows Management Instrumentation(WMI)オブジェクトを表示するラッパー クラスです。シャープ記号(#)以降のパスは、基礎となる WMI オブジェクトの名前空間とクラス名を提供します。
  • Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Deduplication/MSFT_DedupJobSchedule
    The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object.

■メモ

  • 詳細については、「Get-Help Set-DedupSchedule -detailed」と入力してください。
  • 技術情報については、「Get-Help Set-DedupSchedule -full」と入力してください。

■エイリアス

  • なし

■例

例 1: ガーベージ コレクション ジョブに対するデータ重複除去スケジュール設定を変更する。

 Set-DedupSchedule –Name "OffHoursGC" –Type GarbageCollection –Start 08:00 –DurationHours 5 –Days Sun –Priority Normal 

このコマンドは、ガーベージ コレクション ジョブ名「OffHoursGC」に対するデータ重複除去設定に変更します。このジョブは、日曜 8:00 に通常の優先度で実行するようスケジュールされます。このコマンドは、処理が干渉していない場合に 5 時間後にサーバーがキャンセルすることを指定します。

例 2: スクラブ ジョブに対するデータ重複除去スケジュール設定を変更する。

 Set-DedupSchedule –Name "OffHoursScrub" –Type Scrubbing –Start 23:00 –StopWhenSystemBusy –DurationHours 6 –Days Mon,Tues,Wed,Thurs,Fri –Priority Normal 

このコマンドは、スクラブ ジョブ名「OffHoursScrub」に対する重複除去スケジュールを作成します。このコマンドは、月曜から金曜の 23:00 に通常の優先度でスクラブ ジョブ設定に変更します。StopWhenSystemBusy パラメーターは、サーバーがビジーおよび後で実行するときにサーバーがジョブを停止するように指定します。DurationHours パラメーターは、処理が終了していない場合に 6 時間後にサーバーがキャンセルすることを指定します。

例 3: 最適化ジョブに対するデータ重複除去スケジュール設定を変更する。

 Set-DedupSchedule –Name "MyWeekendOptimization" –Type Optimization –Days Mon,Tues,Wed,Thurs,Fri –Start 08:00 –DurationHours 9 

このコマンドは、最適化ジョブ名「MyWeekdayOptimization」に対するデータ重複除去スケジュール設定に変更します。最適化ジョブは平日夜 8:00 に通常の優先度で実行されます。DurationHours は、プロセスが完了していない場合に 9 時間後にサーバーがキャンセルすることを指定します。

■関連するトピック

  • Get-DedupSchedule
  • New-DedupSchedule
  • Remove-DedupSchedule

[参考]