Powershell

Powershell - 每個月最後一個星期二的 NewScheduledTaskTrigger

  • February 3, 2018

不確定這是否屬於與 PowerShell 相關的 stackoverflow,但由於它不是腳本並且與伺服器任務相關,所以在此處發布。

我正在嘗試重新創建我們在舊文件伺服器上的任務,作為新故障轉移集群上的集群任務。

為此,我需要將動作和触發器設置為要傳遞給 New-ClusteredScheduledTask 的變數。我所做的操作沒有問題,但我不確定如何執行 New-ScheduledTaskTrigger 以正確地將其設置為每個月的最後一個星期二。

我可以看到有 Daily 和 Weekly 切換,還有 WeeklyInterval,但我不想依賴每週間隔,因為這並不總是落在每月的最後一個星期二?

誰能建議如何使用可用開關和值的組合重新創建此觸發器?

我認為這不能完全使用 PowerShell cmdlet 來完成。

我將使用正確的觸發器在 GUI 中創建一個範例任務並將其導出為 XML。

然後使用該 XML 創建一個新任務:Register-ScheduledTask -Xml

我過去曾嘗試做類似的事情;而且我從來沒有找到使用 New-ScheduledTaskTrigger 的方法。

最終,我最終將執行該檢查的邏輯添加到我的腳本中,因此它僅在當月剩餘不到 7 天且當天是星期二時才執行。

If(((([datetime]::DaysInMonth((Get-Date).Year,(Get-Date).Month) - (Get-Date).Day)) -le 7) -And ((Get-Date).DayOfWeek -eq "Tuesday"))
{
  # Perform Task
} 

引用自:https://serverfault.com/questions/895377