Nei*_*eil 6 active-directory dsquery
我真的很难创建将导出以下内容的查询:帐户名字姓氏用户所在的 OU
理想情况下,我希望将其作为 CSV 文件。我无权访问域控制器,但可以运行 DSQUERY/DSGET/etc。从我的电脑。
dsquery 有效,但通过拆分一个或多个空格 (\s+) 转换为 CSV 是很脆弱的。任何带有嵌入空格的属性值都会将剩余的值向右移动。此外,默认情况下 dsquery 将在输出 100 个对象后停止;“-limit 0”将输出所有结果。
通过命令行执行此操作的正确方法是使用 csvde:
csvde -f names.csv -r "(&(objectClass=user)(objectCategory=user))" -l samAccountName,givenName,sn
Run Code Online (Sandbox Code Playgroud)
强制性的 PowerShell 方法是:
csvde -f names.csv -r "(&(objectClass=user)(objectCategory=user))" -l samAccountName,givenName,sn
Run Code Online (Sandbox Code Playgroud)
根据你的工具,你可以做
dsquery user dc=contoso,dc=com | dsget user -samid -fn -ln -dn > names.csv
Run Code Online (Sandbox Code Playgroud)
这将创建一个以空格分隔的帐户名、名字、姓氏和位置列表。
将其转换为真正的 csv 需要更多的工作。
$userList=dsquery user dc=contoso,dc=com | dsget user -samid -fn -ln -dn
foreach ($user in $userList) {
$outstring=$user.trim(" ") -replace('\s+',',')
write-host `"$outstring`"
}
Run Code Online (Sandbox Code Playgroud)
这会让你输出像
"samid","fn","ln","dn"
"jarey.boe","jarey","boe","cn=jarey.boe,ou=users,dc=contoso,dc=com"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
66755 次 |
最近记录: |