使用 gMSA 和 Get-ADGroupMember 的 PowerShell 脚本

PowerShell script using gMSA and Get-ADGroupMember

我们有一个 PowerShell 脚本,它将枚举指定 AD 组的成员,然后创建一个包含登录 ID 和名称的文本文件。该脚本将创建一封电子邮件给经理,通知他们在那里管理的 AD 组的成员资格 application/service。我们遇到的问题是以下行:

Get-ADGroupMember -Identity $ADGroupName -Recursive |
    Get-ADUser -Properties * | Select-Object employeeID, name |
    Sort-Object name | Out-File -FilePath $Attachment

这将在用户 运行 执行脚本时使用请求的信息正确创建文件。问题是当我们尝试使用 gMSA 通过计划任务 运行 此脚本时。当 运行 在 gMSA 下执行此操作时,将创建一个零字节文件。将文件创建行更改为:

Get-Service | Out-File -FilePath $Attachment

按预期创建文件,因此问题似乎出在 Get-ADGroupMember。 gMSA 可以用来查询 AD 吗?

我们管理 MSA/gMSA 帐户的内部小组通知我们一切都应该正常工作。我们的安全组更喜欢通过 MSA/gMSA 将需要某种类型的用户上下文的所有内容 运行,因为密码管理不是问题。

管理 gMSA/MSA 的组通过将 gMSA 置于域用户组中来解决 'fixed' 问题。看起来 Get-ADUserGet-ADgroup 命令在 Domain Users 组中没有 gMSA 但 Get- ADGroupMenber 需要它。