Powershell 5.1.16299.1146获取ADGroupMember发生操作错误

Powershell 5.1.16299.1146获取ADGroupMember发生操作错误,powershell,Powershell,我要走了 “发生操作错误” 组包含来自不同域的用户时出错 Powershell 5.1.14409.1018中的同一行非常有用 Get-ADGroupMember -Server "MyDomain" -Identity "MyGroup" | ForEach-Object {$_.SamAccountName} 当组包含来自不同域的用户时,是否有其他人在5.1.16299.1146版Get-ADGroupMember上遇到问题 Get-ADGroupMember:发生操作错误 第1行字符:1

我要走了

“发生操作错误”

组包含来自不同域的用户时出错

Powershell 5.1.14409.1018中的同一行非常有用

Get-ADGroupMember -Server "MyDomain" -Identity "MyGroup" | ForEach-Object {$_.SamAccountName}
当组包含来自不同域的用户时,是否有其他人在5.1.16299.1146版Get-ADGroupMember上遇到问题

Get-ADGroupMember:发生操作错误 第1行字符:1 +获取ADGroupMember-服务器“MyDomain”MyGroup。。。 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:NotSpecified:(MyGroup:ADGroup)[Get-ADGroupMember],ADException +FullyQualifiedErrorId:ActiveDirectoryServer:8224,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMember


Get-ADGroupMember
在处理外国安全主体的转介追踪方面是出了名的糟糕。您应该能够使用
Get-ADGroup
Get-ADObject

函数获取ADGroupMemberFix{
[CmdletBinding()]
param(
[参数(
必填项=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
位置=0
)]
[字符串[]]
$Identity,
[字符串]
$Server
)
开始{
$additionalArguments=@{}
if($PSBoundParameters.ContainsKey('Server')){
$additionalArguments['Server']=$Server
}
}
过程{
foreach($Identity中的GroupIdentity){
$Group=$null
$Group=Get-ADGroup-Identity$GroupIdentity-Properties成员@additionalArguments
如果(-非$Group){
持续
}
Foreach($Group.Member中的成员){
获取一个对象$Member
}
}
}
}
获取ADGroupMemberFix-标识“”
(上面的脚本是在引用的reddit post by中发布的脚本的修改版本)


如果需要,您可以将所需的属性名称添加到
Get ADObject
调用中

请使用准确错误消息的副本和粘贴更新您的问题。(请记住,我们看不到您的屏幕。)我无法复制该问题-您使用的域/组是否正确?-请注意,我使用的是PSVersion 5.1.14393.2636域/组是否正确,同一行适用于5.1.14409.1018这是一个很好的替代方案,它确实输出了更多的信息,所以希望,这对操作-编辑很好-我刚刚注意到,这是一个很好的选择esn似乎无法获取
{$\u.SamAccountName}
我在5.1.16299.1146之前从未遇到过获取ADGroupMember的问题。看起来,该解决方法只返回DiscrimitedName、Name…我需要获取成员SamAccountName。因此,通过管道将成员DNs发送到ADUser并选择SamAccountName。