Windows-7

使用 Powershell 查詢 schtasks

  • December 6, 2016

在我正在嘗試的 Windows7 機器上,我可以執行查詢以使用 schtasks.exe 查看所有計劃任務

這很好,但我也想使用類似的東西過濾結果集

schtasks /query | where { $_.TaskName -eq "myTask" } 

問題是我沒有這個 schtasks 為 where 函式返回一個正確格式化的列表。

我也試過:

schtasks /query /FO LIST
schtasks /query | format-list | where ....

那些也不起作用。

使用 Win7 在本地電腦上查詢 schtask 並能夠過濾它們的最佳方法是什麼

您可以嘗試使用 schtasks,它會讓您解析文本。這幾乎總是容易出錯,而且肯定比獲取命令的輸出更困難。

PowerShellPack中恰好有一個 TaskScheduler 模組。安裝 PowerShell 包後,要獲取所有計劃任務,請使用:

Import-Module TaskScheduler
Get-ScheduledTask -Recurse

由於這些是真實對象,要查找特定名稱的任務,您可以使用:

Get-ScheduledTask -Recurse |  Where-Object { $_.Name -like "*Task*"}

通常,您會發現 PowerShell 社區已經將命令行(如 schtasks)的使用難度提高了很多,並將它們變成了易於使用的 cmdlet,如 Get-ScheduledTask。

也可以看看:

使用 TaskScheduler 模組發送自動電子郵件

希望這可以幫助

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