これがそれほど難しくないことを願っていますが、ドメインからユーザー情報を照会して CSV にエクスポートするスクリプトを作成しています。
スクリプトは管理スタッフによって実行され、スクリプトに入力する必要があるのはユーザー名だけです。
難しいのは、次の金曜日に基づいて CSV に名前を付ける必要があることです。
Note: I am in Australia so my date format is DD-MM-YYYY
現在検討している方法は以下の通りです。
# Grab the Script Run Timestamp
$ScriptRuntime = Get-Date -Day 4 -Month 5 -Year 2013
# Grab the next Friday (including today)
$NextFriday = $ScriptRuntime.AddDays(0 + $(0,1,2,3,4,5,6 -eq 5 - [int]$ScriptRuntime.dayofweek))
Write-Host "Script Run: "$ScriptRuntime
Write-Host "Next Friday: "$NextFriday
これは、土曜日を除くすべての日で問題なく機能します。
- 2013 年 26 日、5 月、2013 年として実行すると、2013 年 5 月 31 日が返されます。
- 2013 年 27 日、5 月、2013 年として実行すると、2013 年 5 月 31 日が返されます。
- 2013 年 28 日 5 月 5 日を実行すると、2013 年 5 月 31 日が返されます。
- 2013 年 29 日 5 月 5 日を実行すると、2013 年 5 月 31 日が返されます。
- 2013 年 30 月 5 月 30 日を実行すると、2013 年 5 月 31 日が返されます。
- 2013 年 31 月 5 月 31 日を実行すると、2013 年 5 月 31 日が返されます。
- 2013 年 1 日、6 月、2013 年として実行すると、2013 年 5 月 31 日が返されます (これは 2013 年 7 月 6 日である必要があります)。
- 2013 年 2 日 6 月 6 日の日付を実行すると、2013 年 7 月 6 日が返されます。
私は何を間違っていますか?