我正在尝试仅检索AD中已启用的用户。当我运行此代码行时,它将返回错误。我也尝试使用过滤器来仅过滤启用用户的请求信息,但它会返回每个域中的所有用户,而不仅仅是单个ID。
Get-ADUser : A positional parameter cannot be found that accepts argument 'enabled -eq 'true''.
这是我的代码,引发错误。
Get-ADGroupMember -Identity 'Animal Shop A' | Get-ADUser -Filter '*' | Get-ADUser Where "enabled -eq 'true'" | Get-ADUser -Properties ('Mail')
这将返回每个域的所有用户
Get-ADGroupMember -Identity 'Animal Shop A' | Get-ADUser -Filter "enabled -eq'true'" | Get-ADUser -Properties ('Mail')
我的语法是否都错误?如果我只想返回“动物商店A”然后再说“动物商店B”的值
答案 0 :(得分:4)
Get-ADUser -Filter * -Properties mail | Where { $_.Enabled -eq $True} | Select Name,samaccountname,mail
这将使目标域中所有已启用的用户被启用,并显示名称,用户名和邮件属性
答案 1 :(得分:4)
..或更短一点:
Get-ADUser -Filter 'enabled -eq $true' -Properties mail |
Select-Object -Property Name,samaccountname,mail
除此之外,我建议使用-SearchBase
。对于广告而言,压力较小。 ;-)
答案 2 :(得分:0)
这两个命令都非常重要: 您必须使用提升的Powershell流程。 否则结果可能不完整。
答案 3 :(得分:0)
只需尝试以下powershell中的命令作为管理员权限。 作为指导,第一部分将过滤用户,第二部分将过滤启用的用户,最后一部分将为您导出结果。
Get-ADUser -Filter * -Property Enabled | Where-Object {$_.Enabled -like “false”} | Export-Csv -Path C:\eport.csv -Encoding ascii -NoTypeInformation
希望对您有用。