Windows-Server-2012

所有使用者的上次登錄時間 - RDP 伺服器不在域上

  • October 17, 2019

我正在嘗試獲取 Windows Server 2012 上“所有使用者”的“最後登錄時間”列表,但目前只知道如何列出單個使用者登錄,即:

net user username | findstr /B /C:"Last logon"

有任何想法嗎?

*PS 此伺服器的唯一目的是託管 RDP 連接;不綁定到域/AD。

對於本地使用者,您可以將 Powershell 與 ADSI 一起使用,如下所示。

$comp=[adsi]"WinNT://$($env:ComputerName)"
$users = $comp.Children | ?{ $_.SchemaClassName -eq 'User' }
$users | select @{L="Name";E={$_.psbase.Properties.Name.Value}},@{L="LastLogin";E={$_.psbase.Properties.LastLogin.Value}}

我前段時間遇到過類似的問題。這是產生我需要的結果的程式碼。甚至適用於本地帳戶。

$adsi = [ADSI]"WinNT://$env:COMPUTERNAME" $adsi.Children | where {$_.SchemaClassName -eq 'user'} | ft name,lastlogin

在本次討論中向 Anthony Howell 致敬。

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