Windows

windows-server-2016 任務計劃程序不保存域使用者以正常執行

  • March 23, 2022

任務計劃程序 (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 中,過去看起來像這樣:&lt;UserId&gt;DOMAIN\USER</UserId&gt; but now it looks like this:

$$ numbers-with-a-lot-of-hypens-that-starts-with-a-letter $$&lt;/使用者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 任務計劃程序執行正確的任務,這些任務是第一次正確設置而沒有編輯,並且未選中“以最高權限執行”複選框並在未來開始。因此,如果您需要修改計劃任務,您可能應該創建一個全新的任務,然後刪除舊任務,而不是編輯現有任務。

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