Windows

如何在任務計劃程序中獲取觸發任務的登錄使用者名

  • November 20, 2014

在 Windows 7 任務計劃程序中,我有一個在任何使用者登錄時執行的任務。此任務以管理員身份執行,因此它可以獲得適當的權限並執行 bat 文件。

我想將觸發任務的登錄使用者的使用者名(使用者 ID)傳遞給 bat 文件。我需要使用管理員帳戶執行 bat 文件,這會導致環境變數 USERNAME 設置為管理員,而不是登錄的使用者名。

您如何獲取登錄導致任務觸發的使用者的使用者 ID?

這並不理想,但您可以有一個單獨的任務,將使用者名同時寫入日誌文件,然後再關聯日誌。就此而言,由於任務在登錄時執行,因此此資訊已在事件日誌中可用。如果您以後真的不想關聯這些,您可以將程式碼(或步驟)添加到現有任務中以提取最近的登錄事件。

登錄事件日誌

更仔細地查看我自己的日誌,我發現您需要事件 ID 4624,但僅限於登錄類型為 2 或 7 的情況。我看到系統帳戶的許多登錄類型 5 事件正在執行各種操作。這裡有更多資訊:

<http://www.windowsecurity.com/articles-tutorials/misc_network_security/Logon-Types.html>

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