
我們有一個終端伺服器,它透過 Active Directory 群組僅限於特定使用者。一名用戶擁有存取權限,但早在 2015 年 3 月,他的存取權限就被刪除了。
當我Get-WmiObject -class Win32_NetworkLoginProfile | Select-Object Name,LastLogon
在 PowerShell 中執行時,該使用者會列出今天的日期和時間,但該使用者無法登入。
他們為何會出現?其他已離開公司並被刪除的用戶會顯示他們上次登入的時間。
答案1
被拒絕的用戶顯示最近的登入時間
我們有一個終端伺服器,它透過 Active Directory 群組僅限於特定使用者。一名用戶擁有存取權限,但早在 2015 年 3 月,他的存取權限就被刪除了。
當我運行 Get-WmiObject -class Win32_NetworkLoginProfile | Select-Object Name,LastLogon in PowerShell,該使用者列出了今天的日期和時間,但該使用者無法登入。
他們為何會出現?其他已離開公司並被刪除的用戶會顯示他們上次登入的時間。
好的,所以離開公司的使用者俱有預期LastLogon
值,而當您執行 PowerShell 命令時,此「受限」(但不是終止員工)帳戶沒有預期值。
當你運行該Get-WmiObject -class Win32_NetworkLoginProfile
命令時,即查詢使用者的網路登入值它並不是特定於您正在使用的語法中的特定電腦或伺服器,因此這將是使用該帳戶的任何裝置上次登入網路的值。
- 若要與相同的使用者名稱進行比較,您將看到該欄位與問題中的 WMI PowerShell 命令等具有
NET USER /DOMAIN <Username>
相同的日期時間戳記。Last Logon
這解釋了為什麼您會看到此訊息,對於受限制但未終止的帳戶,因為該帳戶可能登入您環境中的其他加入網域的計算機,而終止的帳戶則沒有登入。
下面是一個更具體的查詢特定使用者帳戶在一個特定伺服器或機器。
PowerShell 指令(精煉)
# connecting to a remote machine using current identity:
$ComputerName = 'SomeServerNameOrIP'
$AccountName = 'AccountNameToSearch'
Get-WMIObject -Class Win32_NetworkLoginProfile -ComputerName $ComputerName |
Where {$_.name -match $AccountName} | Select-Object Name,LastLogon,LogonServer
更多資源
Win32_NetworkLoginProfile
Win32_NetworkLoginProfile 類別表示 Win32 系統上特定使用者的網路登入資訊。這包括但不限於密碼狀態、存取權限、磁碟配額和登入目錄路徑。
最後登入
資料類型日期時間
LastLogon 屬性指示使用者上次登入系統的日期和時間。該值是根據自 1970 年 1 月 1 日 00:00:00 起經過的秒數計算的。範例:19521201000230.000000 000
NETLOGIN - Network login information for a particular user.