[英]How to create collection of scheduler task path in powershell script
我有一個 powershell 腳本,我必須在其中啟用或禁用任務。 在下面的腳本中我正在做的事情
現在在我的項目中,我們有許多不同的計划任務,它們存在於不同的路徑中,例如“\Microsoft\Windows\PowerShell\ScheduledJobs”中的少數任務以及根路徑中的某些任務,例如“\printtask”。
現在,當我傳遞要在腳本中執行的任務名稱時,如果 $TaskPath = '\Microsoft\Windows\PowerShell\ScheduledJobs' 中不存在該任務,那么它將不會執行。 為了解決這個問題,我必須添加另一個 if 條件來設置根路徑。
讓我們說將來如果我們有一些不同路徑的新任務,那么我必須再次添加新的 if 條件。 為了避免這種情況,我正在尋找一種方法來檢查任務路徑的集合/列表,然后我們通過該集合/列表 go 並找到計划的作業並執行。
如果將來我們需要使用其他路徑添加新任務,我們可以將該任務路徑添加到該集合/列表中,並避免使用額外的 if 語句。
任何人有任何建議我可以如何存檔這個..?
您可以通過構建對象數組並將所有任務路徑添加到其中,將所有任務路徑存儲在初始邏輯中,有點像這樣:
$TaskPathList = @()
$TaskPathList += New-Object -TypeName PSObject -Property @{TaskPath = $TaskPath1;}
$TaskPathList += New-Object -TypeName PSObject -Property @{TaskPath = $TaskPath2;}
稍后,您可以遍歷此 TaskPath 集合以讀取它們並做出相應的決策:
$TaskPathList | ForEach-Object {
if(<Place your condition to check against $_.TaskPath >)
{
#Do your stuff
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.