powershell - 使用 Get-ADOrganizationalUnit 递归获取 OU?
问题描述
我无法让这段代码为我返回所有子树 OU 及其下面的结构。
因为当我执行这个片段时,它只返回顶级OU,不包括它下面的子树OU?
这是脚本:
$AllOUs = @(
'Production Global'
'Testing'
) | ForEach-Object {
If ($ou = Get-ADOrganizationalUnit -SearchScope Subtree -Filter "name -eq '$($_)'") {
$ou.DistinguishedName
}
Else {
Throw "OU '$($_)' not found!"
}
}
这是不完整的结果:
OU=Production Global,DC=domain,DC=com
OU=Testing,DC=domain,DC=com
以下是我当前 AD 中 OU 的结构:
OU=Production Global,DC=domain,DC=com
OU=Azure,OU=Production Global,DC=domain,DC=com
OU=AWS,OU=Production Global,DC=domain,DC=com
OU=GCP,OU=Production Global,DC=domain,DC=com
OU=Testing,DC=domain,DC=com
OU=IT-Developer,OU=Testing,DC=domain,DC=com
OU=Team1,OU=IT-Developer,OU=Testing,DC=domain,DC=com
OU=Team2,OU=IT-Developer,OU=Testing,DC=domain,DC=com
OU=UAT,OU=Testing,DC=domain,DC=com
OU=CustomerA,OU=UAT,OU=Testing,DC=domain,DC=com
OU=CustomerB,OU=UAT,OU=Testing,DC=domain,DC=com
可以做些什么来返回上述结果?
我在下面也遇到了这个错误:
Get-ADOrganizationalUnit : Cannot convert 'System.Object[]' to the type 'System.String' required by parameter 'SearchBase'. Specified method is not supported.
At line:20 char:50
+ ... rganizationalUnit -Filter * -SearchBase $ou.DistinguishedName -Search ...
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-ADOrganizationalUnit], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgument,Microsoft.ActiveDirectory.Management.Commands.GetADOrganizationalUnit
解决方案
推荐阅读
- python - 为什么逻辑回归会抛出转换错误(valueerror)?
- ios - 如何获取对 LLDB 中对象的所有强引用
- c - 使用 -save-temps 构建内核 - 这些 9 MB 的 *.i 文件是否全部存在?
- javascript - 如何从这个 ArchGIS 地图“onclick”中获取经度和纬度值并插入到 html 表单字段中?
- amazon-web-services - 我可以从 Boto3 中的客户端对象获取 S3 资源吗
- php - 将文件上传到我的 API 时更改了完整文件权限
- jquery - 在jQuery中,单击后删除表格中的tr
- reactjs - useNavigate 未在登录 v6 react-router-dom 上重定向
- node.js - 在 docker 容器中运行 azcopy 会引发 spawn EACCES 错误
- python - 使用 Python 对具有多个选项卡的 Excel 文件进行 QC