在系统上注册的所有用户的数量(不是Active Directory)



我正在尝试获取当前系统上的注册用户列表。

我尝试了gwmi win32_userprofile,但对它的线路感到困惑。

您将无法使用win32_userprofile wmi类获取用户名。您可以得到他们的本地路径:

$LocalPaths = Get-WmiObject -Class Win32_UserProfile | Select-Object -Property LocalPath

如果您想要所有用户帐户名称,则必须使用用户win32_useraccount。如果您已连接到Active Directory,并且只需要特定于机器的本地帐户,则可以使用此查询:

$LocalAccount = Get-WmiObject -Query "Select Name, LocalAccount FROM WIN32_UserAccount WHERE LocalAccount=true"

如果您想要所有帐户以及具有电势访问的帐户,则可以使用此信息:

$PotentialAccess = Get-WmiObject -Query "Select Name FROM WIN32_UserAccount"

如果您在一个域上,则该域是一个特别大的域,它将需要一段时间,因为它可以检索可以访问系统的每个用户帐户。

我用它来获取本地计算机用户的列表:

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

相关内容

最新更新