
[英]PowerShell: get-adgroupmember and ignore ForeignSecurityPrincipals account
[英]Powershell 5.1.16299.1146 Get-ADGroupMember An operations error occurred
我越来越
“发生操作错误”
当组包含来自不同域的用户时出错。
Powershell 5.1.14409.1018 中的同一行效果很好。
Get-ADGroupMember -Server "MyDomain" -Identity "MyGroup" | ForEach-Object {$_.SamAccountName}
当组包含来自不同域的用户时,还有其他人在使用 Get-ADGroupMember 的版本 5.1.16299.1146 上遇到问题吗?
Get-ADGroupMember: 操作错误发生在 line:1 char:1 + Get-ADGroupMember -Server "MyDomain" "MyGroup... + ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CategoryInfo: NotSpecified: (MyGroup:ADGroup) [Get-ADGroupMember], ADException + FullyQualifiedErrorId: ActiveDirectoryServer:8224,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMember
Get-ADGroupMember
在处理外国安全主体的推荐追逐方面是出了名的糟糕。 您应该可以使用Get-ADGroup
和Get-ADObject
手动完成:
Function Get-ADGroupMemberFix {
[CmdletBinding()]
param(
[Parameter(
Mandatory = $true,
ValueFromPipeline = $true,
ValueFromPipelineByPropertyName = $true,
Position = 0
)]
[string[]]
$Identity,
[string]
$Server
)
begin {
$additionalArguments = @{}
if($PSBoundParameters.ContainsKey('Server')){
$additionalArguments['Server'] = $Server
}
}
process {
foreach ($GroupIdentity in $Identity) {
$Group = $null
$Group = Get-ADGroup -Identity $GroupIdentity -Properties Member @additionalArguments
if (-not $Group) {
continue
}
Foreach ($Member in $Group.Member) {
Get-ADObject $Member
}
}
}
}
Get-ADGroupMemberFix -Identity ''
(上面的脚本是/u/markekraus在引用的 reddit 帖子中发布的脚本的修改版本)
如果需要,您可以将所需的属性名称添加到Get-ADObject
调用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.