gpt4 book ai didi

powershell - Get-ADuser:从服务器返回了引荐

转载 作者:行者123 更新时间:2023-12-03 01:04:03 27 4
gpt4 key购买 nike

运行脚本时出现以下错误:

Get-ADUser : A referral was returned from the server At line:25 char:70
+ ... -Identity $G.name -Recursive | Get-ADUser -Server $dom -Properties *
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (CN=User...,DC=org:ADUser) [Get-ADUser], ADReferral Exception
+ FullyQualifiedErrorId : ActiveDirectoryServer:****,Microsoft.ActiveDirectory.Management.Commands.GetADUser

这是我的脚本:
$Domains = (Get-ADForest).Domains.ForEach{(Get-ADDomain $_).PDCEmulator}

$Users = @()
$Groups = @()
$list = Get-Content C:\temp\ADGroups.txt
ForEach ($dom in $Domains) {
Foreach ($o in $list) {
$ObjectClass = (Get-ADObject -server $dom -Filter {SamAccountName -eq $o}).ObjectClass
If ($ObjectClass -eq "User") {
$U = Get-ADUser -Properties * -Identity $o -Server $dom
$User = "" | Select FullUserName, LoginID, Description
$User.FullUserName = $U.DisplayName
$User.LoginID = $U.SamAccountName
$User.Description = $U.description
$Users += $User
} Else {
If ($ObjectClass -eq "Group") {
$G = Get-ADGroup -Properties * -Identity $o -Server $dom
$GM = Get-ADGroupMember -Server $dom -Identity $G.name -Recursive | Get-ADUser -Server $dom -Properties *
Foreach ($gmember in $GM) {
$Group = "" | Select GroupName, GroupDescription, GroupMemberName, GroupMemberLoginID, GroupMemberDesc
$Group.GroupName = $G.Name
$Group.GroupDescription = $G.Description
$Group.GroupMemberName = $gmember.Name
$Group.GroupMemberLoginID = $gmember.SamAccountName
$Group.GroupMemberDesc = $gmember.Description
$Groups += $Group
}
}
}
}
}
$Users | Export-Csv C:\temp\Users.csv -NoTypeInformation
$Groups | Export-Csv C:\temp\Groups.csv -NoTypeInformation

我的脚本的目的是提取属于组的用户并导出到.csv文件。它在大多数情况下都有效,但对于某些用户却给我一个错误。我认为可能是因为该组中的那些用户属于不同的域。

最佳答案

请参阅this question中的答案。那里的答案表示您可以在异常中检索引用位置,然后针对其他服务器重试Get-ADUser。

您可能会重新考虑如何搜索所有这些组和用户。在整个林中复制用户。全局和通用团体也是如此。因此,您可以搜索全局目录,而不是遍历每个域中的一个DC。 Get-DomainController -GlobalCatalog ,然后针对该服务器的全局编录端口(即Get-ADUser -server $GCServerName:3268)运行Get-AD *命令

但是,请记住,GC不包含完整的用户和组属性,并且它返回的属性会受到复制延迟的影响。

这是否有用取决于您的域体系结构。在我自己的工作场所中,查询远程域 Controller 非常昂贵。但是,我们的站点域 Controller 是全局目录,因此在其中搜索林信息非常快。

关于powershell - Get-ADuser:从服务器返回了引荐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51831949/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com