如何仅从Active Directory中检索启用的用户

时间:2018-06-20 17:36:27

标签: powershell active-directory

我正在尝试仅检索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”的值

4 个答案:

答案 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

希望对您有用。