Get-ADPrincipalGroupmembership:由于内部错误,服务器无法处理请求

时间:2020-07-22 06:59:09

标签: powershell active-directory windows-server-2016 adgroup

与我之前的问题一样,我的问题与此脚本有关:

$csvInfos=@()
$allservers=@(Get-ADComputer -SearchBase "OU=BRLN-Servers,OU=OU-BRLN,OU=DE,OU=Locations,DC=bla,DC=bla,DC=bla" -Filter * -Properties *)
foreach($server in $allservers){
                $customobject = new-object -TypeName PSObject -Property @{

                'Servername' = $server.Name
                'WSUS Gruppen' = ($server | get-ADPrincipalGroupMembership |?{$_.Name -like '*wsus*'} | Select-Object -ExpandProperty Name ) -join ";"
                'OS' = $server.OperatingSystem }

            $csvinfos+= $customobject }

$csvinfos | export-csv c:\temp\wsus_server_groups.csv -Delimiter ";" -NoTypeInformation

该脚本用于3个不同的域(美国,欧盟,亚洲)。域的构建方式相同。相同的OU结构,相同的设置,相同的所有内容。

基于更新的脚本,我能够获得3个域中2个的结果。在第三个域上,get-adprincipalgroupmembership命令出现错误:

Get-ADPrincipalGroupmembership:由于内部错误,服务器无法处理请求。

我对这个错误进行了很多搜索。即使在stackoverflow上,也存在该错误的主题:

Get-ADPrincipalGroupMembership Fails when any user group name has "/"

但我不认为这与我的情况相同。也许我是盲人。...

所以:是否有办法解决该问题/错误,还是我必须使用另一个与Get-ADPrincipalGroupmembership相同的命令?

谢谢你,迈克尔

1 个答案:

答案 0 :(得分:0)

由于这种原因,我不喜欢AD PowerShell cmdlet。他们不能很好地处理所有案件。我知道不会处理外国安全主体,尽管我不确定这将如何影响此特定案例。如您所说,正斜杠。

如果看到它崩溃在哪个服务器对象上,您也许可以找出它发生的原因。

但是您可以避免使用Get-ADPrincipalGroupMembership。您可以使用Get-ADGroup做同样的事情:

'WSUS Gruppen' = (Get-ADGroup -LDAPFilter "(&(name=*wsus*)(member=$($server.DistinguishedName)))" | Select-Object -ExpandProperty Name ) -join ";"

如果您的AD林中有多个域,则应通过指定Get-ADGroup来告诉-Server example.com:3268使用全局编录。