我们有大约 500 个用户,我们需要获得他们的完整列表,包括服务和管理员帐户。
以下示例中的 DSQUERY 将返回所有用户,但 DSGET 仅返回大约 10 个结果。
dsquery user -limit 0 | dsget user
任何想法为什么会发生这种情况以及如何让 DSQUERY 的所有输出通过 DSGET 进行处理?
我们有大约 500 个用户,我们需要获得他们的完整列表,包括服务和管理员帐户。
以下示例中的 DSQUERY 将返回所有用户,但 DSGET 仅返回大约 10 个结果。
dsquery user -limit 0 | dsget user
任何想法为什么会发生这种情况以及如何让 DSQUERY 的所有输出通过 DSGET 进行处理?
我从未使用过 dsquery,但使用 powershell 很容易获得 AD 中所有用户帐户的列表。只需更改属性列表以满足您的要求:
Get-ADUser -Filter * -Properties SamAccountName,HomeDrive,HomeDirectory,DistinguishedName
您也可以将输出保存到 csv:
Get-ADUser -Filter * -Properties SamAccountName,HomeDrive,HomeDirectory,DistinguishedName | Export-Csv "C:\folder\adusers.csv" -NoTypeInformation
编辑:要仅导出特定属性,您只需在导出到 CSV 之前选择它们:
Get-ADUser -Filter * -Properties SamAccountName,HomeDrive,HomeDirectory,DistinguishedName | Select SamAccountName,HomeDrive,HomeDirectory,DistinguishedName | Export-Csv "C:\folder\adusers.csv" -NoTypeInformation
...或者更简洁的方式:
$Properties = "SamAccountName,HomeDrive,HomeDirectory,DistinguishedName"
Get-ADUser -Filter * -Properties $Properties | Select $Properties | Export-Csv "C:\folder\adusers.csv" -NoTypeInformation