【发布时间】:2018-11-06 17:54:04
【问题描述】:
我正在尝试使用以下脚本从 AD 获取所有活跃用户,但是,尽管我知道有值为 512 的数据,但我没有得到任何结果。
你知道我有什么问题吗?
Get-ADUser -filter {$userAccountControl -eq "512"} -properties Name,userAccountControl -Server myserver.local | Export-CSV "E:\Folder\ADusers.csv" -NoTypeInformation -Encoding UTF8
【问题讨论】:
-
$userAccountControl 中有什么?
-
Get-ADUser -filter {userAccountControl -band [int]512} -
警告:
userAccountControl是位图(即,被视为一系列位的整数,其中每个位置代表开/关状态) - 请参阅@dev.greg 的答案。 -
好吧,我已经尝试使用 -band ...但仍然出现错误:Get-ADUser:术语“Get-ADUser”未被识别为 cmdlet、函数、脚本文件的名称,或可运行的程序。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。在 E:\AD\ad_script_test_2.ps1:1 char:1 + Get-ADUser -filter {userAccountControl -band [int]512} -properties Na ... + ~~~~~~~~~~ + CategoryInfo : ObjectNotFound : (Get-ADUser:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
标签: powershell syntax active-directory user-management user-account-control