我正在编写一个 Powershell 脚本来将 Active Directory 组从一个用户复制到另一个用户。我需要一种方法来查看用户(基于用户的 SAM 帐户名)是否是任何组的成员。我看到的所有其他内容都是“如何查看组的成员”或“如何列出不在特定组中的所有成员”,我需要的是以布尔值的形式查看特定用户是否属于该组的一部分是否有任何团体。我对 Powershell 和 Active Directory 也很陌生,所以简单的答案将不胜感激。
此外,我不需要知道有哪些组,只要有的话就可以。许多类似的问题让人们想知道特定用户属于哪些组。我不在乎,这是为了有效性检查;如果输入的用户名没有组,则提示用户输入一个新组。我有提示用户和所有内容的代码,我只是需要 if 语句的条件。
我在 Stack Overflow 上尝试了很多类似的解决方案,但没有一个有效。
请尝试这个 cmdlet:
获取 ADPrincipalGroupMembership
您可以使用格式表格式化输出,包括您需要的属性。
“获取具有指定用户、计算机、组或服务帐户的 Active Directory 组。
获取 ADPrincipalGroupMembership - 身份管理员
distinguishedName : CN=域用户、CN=用户、DC=Fabrikam、DC=com GroupCategory : 安全 GroupScope : 全局名称 : 域用户 objectClass : 组 objectGUID : 86c0f0d5-8b4d-4f35-a867-85a006b92902 SamAccountName : 域用户 SID : S -1-5-21-41432690-3719764436-1984117282-513等...”