統計登入伺服器的Windows用戶數

統計登入伺服器的Windows用戶數

有沒有一種方法可以以程式設計方式收集過去 30 天內或兩個日期之間登入 Windows 伺服器(特別是 2008 R2)的使用者清單?有 2 台 Active Directory 伺服器,所有使用者都是相同網域的成員。

我的最終目標是出於 SPLA 的原因自動取得每個伺服器的唯一使用者清單。

答案1

這是手動的,而不是通過程序,但您可以在事件檢視器中建立一個過濾器,僅顯示您的登入事件。右鍵單擊該Custom Views資料夾並選擇Create Custom View選項。不幸的是,對於此過濾器,您必須編輯 XML。過濾器的 XML 如下圖所示:

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
      *[System[(EventID=4624)]] 
      and 
      *[EventData[Data[@Name='LogonType'] and (Data='2' or Data='10' or Data='11')]]
    </Select>
    <Suppress Path="Security"> 
       *[EventData[Data[@Name='TargetDomainName'] and  (Data = 'Window Manager')]]
    </Suppress> 
  </Query>
</QueryList>

您可能需要對其進行編輯以將登入類型 7 也包括在內(解鎖鎖定的會話)。有關登入類型代碼的更多信息,請參見此處:

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

請注意,這不會按日期範圍進行過濾:僅按登入。但是,一旦縮小了該部分的範圍,就可以輕鬆手動瀏覽事件檢視器中的日期範圍。

不幸的是,當我使用“連接到另一台電腦”選項時,即使防火牆關閉,此過濾器也不起作用。

答案2

沒有簡單的方法。首先想到的是梳理安全日誌。您正在尋找事件 ID 4624。

根據安全日誌條目產生的速度以及日誌的大小,日誌可能會在 30 天的週期之前被覆蓋。

最好強制執行一個登入腳本來對中心位置進行計數。

相關內容