windows-server-2016 任務計劃程序不保存域使用者以正常執行
任務計劃程序 (TS) 不保存以使用者身份執行任務的域資訊。
複製步驟:
在正常->安全選項中,它顯示任務將作為哪個使用者執行,旁邊有“更改使用者或組”按鈕。
TS 允許我將使用者更改為域使用者並在欄位中顯示“DOMAIN\USER”。
按 OK 提示我輸入“DOMAIN\USER”的密碼,我這樣做了。
再次打開 TS 任務顯示“DOMAIN\USER”的域部分已從“執行方式”欄位中刪除。
執行該任務時,它不會以“DOMAIN\USER”身份執行。
預期行為
TS應該像在 Server 2012r2 上那樣以使用者身份執行任務。
作業系統詳情
作業系統是windows server 2016 標準建構| 版本 10.0.14393 Build 14393 和伺服器是域的一部分。
編輯:在 Windows 10 中,它看起來像做同樣的事情,但使用者最終會正確執行。在導出的任務 XML 中,過去看起來像這樣:
<UserId>DOMAIN\USER
</UserId> but now it looks like this:
$$ numbers-with-a-lot-of-hypens-that-starts-with-a-letter $$
<
/使用者ID> EDIT-2:看起來儲存在 XML 設置中的是 Windows SID(安全標識符)。
事實證明,需要禁用新盒子上的額外特權,然後任務計劃程序執行正常。“SeDelegateSessionUserImpersonatePrivilege”是罪魁禍首。
讓我相信它是任務調度程序的原因是任務調度程序已經改變了它在 Xml 中保存使用者的方式,它曾經將其保存為“DOMAIN\USER”,但現在它將它保存為 SID(安全 ID)和不在任務調度程序的“RUN AS”部分中顯示域部分。
當我跑步時,
whoami /all
我看到一個特權是在新盒子上而不是舊盒子上。該特權是: SeDelegateSessionUserImpersonatePrivilege = disabled
刪除此權限可解決此問題。
因此,在 Windows Server 2016 std build 14393 上啟用或刪除權限 SeDelegateSessionUserImpersonatePrivilege 修復了任務未作為儲存使用者在任務計劃程序中執行的問題。
編輯:Windows Server 2016 任務計劃程序執行正確的任務,這些任務是第一次正確設置而沒有編輯,並且未選中“以最高權限執行”複選框並在未來開始。因此,如果您需要修改計劃任務,您可能應該創建一個全新的任務,然後刪除舊任務,而不是編輯現有任務。