PowerShell 2 命令仅列出本地禁用的用户帐户

PowerShell 2 Command To List Only Local Disabled User Accounts

我仅限于使用 PowerShell 版本 2,我制作了一个列出所有处于禁用状态的帐户的命令:

Get-WmiObject Win32_UserAccount | where{$_.Disabled -eq "True"} | select Name, Disabled

这很好用,但是,它还列出了 DC 用户帐户,我只是想查询本地用户。

有没有办法只查询处于禁用状态的本地用户帐户?

Get-WmiObject -Class Win32_UserAccount -Filter "LocalAccount=True and Disabled=True" | Select-Object Name, Disabled

守旧派 Windows 工具仍然有效,即使来自 PowerShell,无论版本如何。

wmic useraccount get Name,Disabled

Start-Process powershell -ArgumentList '-NoExit', '-NoProfile', '-Command  &{ "wmic useraccount get Name,Disabled" }'
# Results
<#
Disabled  Name
TRUE      Administrator
...
#>

更新 以获取与您的评论相关的证据...

...it seems to give me an Invalid GET Expression error message on PowerShell version 2

...

C:\>powershell -version 2.0 -nologo -noprofile
PS C:\> (Get-WmiObject -Class Win32_OperatingSystem).Caption
Microsoft Windows 10 Pro
PS C:\> $PSVersionTable

Name                           Value
----                           -----
CLRVersion                     2.0.50727.9151
BuildVersion                   6.1.7600.16385
PSVersion                      2.0
WSManStackVersion              2.0
PSCompatibleVersions           {1.0, 2.0}
SerializationVersion           1.1.0.1
PSRemotingProtocolVersion      2.1


PS C:\> wmic useraccount get Name
Name
Administrator
...

PS C:\> wmic useraccount get Disabled
Disabled
TRUE
..

PS C:\> wmic useraccount get "Name,Disabled"
Disabled  Name
TRUE      Administrator
...