Set-Date
指定する時刻にコンピューターのシステム時刻を変更します。
構文
Set-Date
[-Date] <DateTime>
[-DisplayHint <DisplayHintType>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-Date
[-Adjust] <TimeSpan>
[-DisplayHint <DisplayHintType>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Set-Date
コマンドレットは、コンピューター上のシステムの日付と時刻を、指定した日付と時刻に変更します。
新しい日付や時刻を指定するには、文字列を入力するか、 DateTime または TimeSpan オブジェクトを Set-Date
に渡します。 新しい日付または時刻を指定するには、 Date パラメーターを使用します。 変更間隔を指定するには、 Adjust パラメーターを使用します。
システムの日付と時刻を変更するには、管理者権限が必要です。 Windows で、 Run as administrator オプションを使用して PowerShell を起動します。
例
例 1: システム日付に 3 日を追加する
このコマンドは、現在のシステム日付に 3 日加算します。 時間には影響しません。 このコマンドでは、 Date パラメーターを使用して日付を指定します。
Get-Date
コマンドレットは、現在の日付を DateTime オブジェクトとして返します。 DateTime オブジェクトの AddDays メソッドは、指定した日数 (3
) を現在の DateTime オブジェクトに追加します。
Set-Date -Date (Get-Date).AddDays(3)
例 2: システム クロックを 10 分戻す
次の使用例は、現在のシステム時刻を 10 分戻します。
Adjust パラメーターを使用すると、ロケールの標準時刻形式で変更間隔 (マイナス 10 分) を指定できます。
DisplayHint パラメーターは、時刻のみを表示するように PowerShell に指示しますが、Set-Date
が返すDateTime オブジェクトには影響しません。
Set-Date -Adjust -0:10:0 -DisplayHint Time
例 3: 日付と時刻を変数値に設定する
これらのコマンドは、ローカル コンピューター上のシステムの日付と時刻を変数 $T
に保存された日付と時刻に変更します。 最初のコマンドは日付を取得し、 $T
に格納します。
2 番目のコマンドでは、Date パラメーターを使用して、$T
の DateTime オブジェクトを Set-Date
コマンドレットに渡します。
$T = Get-Date
Set-Date -Date $T
例 4: システム クロックに 90 分を追加する
これらのコマンドは、ローカル コンピューターのシステム時刻を 90 分進めます。
最初のコマンドでは、 New-TimeSpan
コマンドレットを使用して、90 分間隔で TimeSpan オブジェクトを作成し、 $90mins
変数に保存します。
2 番目のコマンドでは、Set-Date
の Adjust パラメーターを使用して、$90mins
変数の TimeSpan オブジェクトの値で日付を調整します。
$90mins = New-TimeSpan -Minutes 90
Set-Date -Adjust $90mins
5: 特定の日付と時刻に変更する
次の例では、日付と時刻を特定の値に設定します。
PS> Get-Date
Monday, June 10, 2024 2:05:48 PM
PS> Set-Date '6/11/2024 2:05:48 PM'
Tuesday, June 11, 2024 2:05:48 PM
パラメーター
-Adjust
このコマンドレットが現在の日付と時刻を加算または減算する値を指定します。 ロケールの標準の日時形式で調整を入力するか、 Adjust パラメーターを使用して TimeSpan オブジェクトを New-TimeSpan
から Set-Date
に渡すことができます。
型: | TimeSpan |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Date
指定した値に日付と時刻を変更します。 新しい日付をロケールに対応する短い日付形式で、時刻をロケールに対応する標準の時刻形式で入力できます。 または、Get-Date
から DateTime オブジェクトを渡すことができます。
日付を指定したが、時刻を指定しない場合、 Set-Date
は指定した日付の午前 0 時に時刻を変更します。 時刻のみを指定した場合、日付は変更されません。
型: | DateTime |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-DisplayHint
表示する日付と時刻の要素を指定します。 このパラメーターの有効値は、次のとおりです。
Date
- 日付のみを表示します。Time
- 時刻のみを表示します。DateTime
- 日付と時刻を表示します。
このパラメーターは、表示のみに影響します。 Get-Date
取得するDateTime オブジェクトには影響しません。
型: | DisplayHintType |
指定可能な値: | Date, Time, DateTime |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
このコマンドレットに日付をパイプできます。
出力
このコマンドレットは、設定した日付を表すオブジェクトを返します。
メモ
- コンピューターの日付と時刻を変更する場合は、このコマンドレットを慎重に使用してください。 変更によって、コンピューターが、日付または時刻に基づいてトリガーされるシステム全体のイベントと更新を受信できなくなる可能性があります。 エラーを回避するには、 WhatIf パラメーターと Confirm パラメーターを使用します。
- AddDays、AddMonths、FromFileTime など、
Set-Date
で使用される DateTime および TimeSpan オブジェクトで標準の .NET メソッドを使用できます。 詳細については、.NET SDK の DateTime メソッド および TimeSpan メソッド を参照してください。
関連リンク
PowerShell