2012-07-05 62 views
1

我正在尋找一個PowerShell腳本,可以運行以禁用任務計劃程序作業(內部禁用.bat文件),它可以禁用我們提到腳本的時間戳。使用Powershell腳本可行嗎?我如何禁用使用PowerShell腳本的任務計劃程序作業

任何幫助讚賞!

$tasks = & SCHTASKS /Query /V /FO CSV | ConvertFrom-Csv 

參數的神奇解碼器環:/查詢是

回答

3

我會用可執行文件CSV格式輸出的方便,花花公子的schtasks獲取對象回來了所有預定任務的信息開始操作,/ V是詳細輸出,/ FO CSV是輸出格式。現在,它是一個對象,你可以很容易地篩選找到你正在尋找的任務(一個或多個):

$task = $tasks | ? { $_.TaskName -eq "My Batch File" } 

,然後可以很容易地啓用或禁用任務,再次使用schtasks的可執行文件:

& SCHTASKS /Change /DISABLE /TN "$Task.TaskName" 

您可以使用相同的代碼輕鬆啓用該任務,只需使用/ ENABLE替換/ DISABLE即可。 SCHKTASKS是用於創建和操作計劃任務的非常強大的工具。

參考:http://msdn.microsoft.com/en-us/library/windows/desktop/bb736357.aspx

+0

喜Goyuix,我'很新的Poweshell,所以你問我將在步驟2中的csv文件有所有我想禁用的批處理文件?請幫助我從實際代碼開始 – user1411254 2012-07-12 16:24:43

+0

步驟1生成CSV,並將其存儲在$ tasks變量中。第2步只是使用步驟1中的$ tasks變量作爲數據源,並應用過濾器來獲取TaskName等於「我的批處理文件」的任務記錄 - 您希望用適合腳本的任何內容替換該名稱。 – Goyuix 2012-07-12 18:42:56

+0

太棒了!它的工作,但腳本問我'請輸入​​作爲服務器\ userid的密碼運行有沒有辦法我們可以繞過這一步,可以禁用任務? – user1411254 2012-07-12 18:54:03

相關問題