我的任务是提供来自多个AD组的AD组成员列表,并将其导出到.csv。如果有问题的AD组甚至有一个跨域用户,我的脚本将失败。
Get-ADGroupMember : An operations error occurred
At C:\users\user1\desktop\ps2.ps1:5 char:1
Get-ADGroupMember -recursive $group | ForEach-Object {
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (Amazing-ADGroup:ADGroup) [Get-ADGroupMember], AD
Exception
+ FullyQualifiedErrorId : ActiveDirectoryServer:8224,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMember
然后,我的脚本会导出我需要的所有广告组,但不会填充属于不同域的用户
广告就像:
Parent-Domain
Sub-Domain1 -> has all the AD Groups I am querying
Sub-Domain2
Sub-Domain3
Sub-Domain4
我已经尝试了其他一切都可以解决的在线问题,但无法解决我的问题。
$Groups = Get-ADGroup -Filter * -SearchBase 'OU=,OU=,OU=,DC=,DC=,DC='
$Groups | ForEach-Object {
$group = $_.Name
$members = $null
Get-ADGroupMember -recursive $group | ForEach-Object {
If($members) {
$members=$members + ";" + $_.Name
} Else {
$members=$_.Name
}
}
New-Object -TypeName PSObject -Property @{
GroupName = $group
Members = $members
}
} | Export-CSV "C:\temp\AD-Group-Members.csv" -NoTypeInformation -Encoding UTF8
我认为这不是您的Powershell脚本的问题,而是小组范围的问题。组范围必须是“通用的”,才能从其他域中获取成员。
您也可以尝试查询全局编录。如果您的域控制器也激活了全局编录,则可以使用“服务器”参数查询他。全局目录通常在端口3268上侦听
Get-ADGroupMember -Identity $group -Recursive -Server domaincontroller.domain.com:3268
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句