Task Scheduler 的描敘:使用戶可以在此計算機上配置和計划自動任務,此服務還托管多個Windows系統關鍵任務。如果此服務被停止或禁用,這些任務將無法再按計划的時間運行。如果此服務被禁用,則明確依賴它的所有服務將無法啟動。這個命令有點類似於Linux下的crontab 等后台命令。可以通過它在Window 平台自動備份數據庫等任務。這個命令依賴於Remote Procedure Call(RPC)系統組件(Windows XP/2000/2003下), 在VISTA、WIN7下必須依賴Remote Procedure Call(RPC)、Windows Event Log兩個系統組件。
啟動Task Scheduler(Win2003下)
1:你可以在開始菜單——運行里面輸入:services.msc 命令進入服務窗口,亦可以通過控制面板——管理工具——服務,進入服務,
手動對Task Scheduler服務進行啟動。
2:也可以通過命令形式啟用服務。
用dos打開task scheduler服務:sc start schedule 。schedule是服務名稱,而Task Scheduler是顯示名稱。
停止Task Scheduler(Window 2003下)
1:你可以在開始菜單——運行里面輸入:services.msc 命令進入服務窗口,亦可以通過控制面板——管理工具——服務,進入服務,
手動對Task Scheduler服務進行停止。
2:也可以通過命令形式停止服務。(Windows 2003)
【注意】在WIN7 和 VISTA下Task Scheduler該服務無法被禁用。如果此服務被禁用,任何依賴它的服務將無法啟動。已經不單是以前操作系統的計划任務調度管理器了
查看Task Scheduler服務狀態
直接通過上面的服務窗口查看,可以用命令:sc query schedule查看
創建Task Scheduler服務
sc create Schedule binPath= "%SystemRoot%\System32\svchost.exe -k netsvcs" type= share start= auto displayname= "Task Scheduler" depend= RpcSs
不過我在刪除該服務后,運行上面命令后,啟動task scheduler服務時出現錯誤2:系統找不到指定的文件。折騰了很久,網上也搜索了很多資料,依然沒有解決問題,不知道哪位同仁解決過此類問題。
刪除Task Scheduler服務
使用命令 sc delete schedule 刪除Task Scheduler服務(Window 2003下)。一般建議先停止服務,然后使用刪除命令。
執行后可以看見Task Scheduler服務變成禁用狀態了。
Windows 7 下執行結果如下:
SCHTASKS /parameter [arguments]
描述: schtasks.exe是安排命令和程序定期運行或在指定時間內運行。從計划表中添加和刪除任務,按需要啟動和停止任務,顯示和更改計划任務。
允許管理員創建、刪除、查詢、更改、運行和中止
本地或遠程系統上的計划系統。替代 AT.exe。
參數列表:
/Create 創建新計划任務。
/Delete 刪除計划任務。
/Query 顯示所有計划任務。
/Change 更改計划任務屬性。
/Run 立即運行計划任務。
/End 中止當前正在運行的計划任務。
/? 顯示幫助/用法。
示例:
SCHTASKS
SCHTASKS /?
SCHTASKS /Run /?
SCHTASKS /End /?
SCHTASKS /Create /?
SCHTASKS /Delete /?
SCHTASKS /Query /?
SCHTASKS /Change /?
sc命令詳解,可以在dos下面直接輸入sc,即可得到sc命令的幫助文檔,各種詳細參數配置。如下所示:
C:\Documents and Settings\Administrator>sc
描述:
SC 是用於與
服務控制管理器和服務進行通信的命令行程序。
用法:
sc <server> [command] [service name] <option1> <option2>...
選項 <server> 的格式為 "\\ServerName"
可以鍵入 "sc [command]" 以獲得命令的進一步幫助
命令:
query-----------查詢服務的狀態, 或
枚舉服務類型的狀態。
queryex---------查詢服務的擴展狀態, 或
枚舉服務類型的狀態。
start-----------啟動服務。
pause-----------向服務發送 PAUSE 控制請求。
interrogate-----向服務發送 INTERROGATE 控制請求。
continue--------向服務發送 CONTINUE 控制請求。
stop------------向服務發送 STOP 請求。
config----------更改服務的配置(永久)。
description-----更改服務的描述。
failure---------更改服務失敗時所進行的操作。
sidtype---------更改服務的服務 SID 類型。
qc--------------查詢服務的配置信息。
qdescription----查詢服務的描述。
qfailure--------查詢服務失敗時所進行的操作。
qsidtype--------查詢服務的服務 SID 類型。
delete----------(從注冊表)刪除服務。
create----------創建服務(將其添加到注冊表)。
control---------向服務發送控制。
sdshow----------顯示服務的安全描述符。
sdset-----------設置服務的安全描述符。
showsid---------顯示與
任意名稱相對應的服務 SID 字符串。
GetDisplayName--獲取服務的 DisplayName。
GetKeyName------獲取服務的 ServiceKeyName。
EnumDepend------枚舉服務的依存關系。
下列命令不要求服務名稱:
sc <server> <command> <option>
boot------------(ok | bad) 表明是否將最后一次啟動
保存為最后一次的正確啟動配置
Lock------------鎖定服務數據庫
QueryLock-------查詢 SCManager 數據庫的 LockStatus
示例:
sc start MyService
是否要查看 QUERY 和 QUERYEX 命令的幫助? [ y | n ]:
y
QUERY 和 QUERYEX 選項:
如果查詢命令帶服務名稱,將返回
該服務的狀態。其他選項不適合這種
情況。如果查詢命令不帶參數或
帶下列選項之一,將枚舉此服務。
type= 要枚舉的服務的類型(driver, service, all)
默認 = service)
state= 要枚舉的服務的狀態 (inactive, all)
(默認 = active)\n"
bufsize= 枚舉緩沖區的大小(以字節計)
(默認 = 4096)
ri= 開始枚舉的恢復索引號\n"
(默認 = 0)
group= 要枚舉的服務組
(默認 = all groups)
句法示例
sc query - 枚舉活動服務和驅動程序的狀態
sc query messenger - 顯示信使服務的狀態
sc queryex messenger - 顯示信使服務的擴展狀態
sc query type= driver - 僅枚舉活動驅動程序
sc query type= service - 僅枚舉 Win32 服務
sc query state= all - 枚舉所有服務和驅動程序
sc query bufsize= 50 - 枚舉緩沖區為 50 字節
sc query ri= 14 - 枚舉時恢復索引 = 14
sc queryex group= \"\" - 枚舉不在組內的活動服務
sc query type= service type= interact - 枚舉所有不活動服務
sc query type= driver group= NDIS - 枚舉所有 NDIS 驅動程序