繁体   English   中英

PowerShell 检查用户组成员身份

[英]PowerShell Check User Group Membership

我正在编写一个 powershell 脚本来更改 GPO 所有权,并且我能够将 GPO 的所有权更改为新用户。 我想要做的是验证 GPO 的当前所有者不再是雇员。 这是针对学校情况,有学生和员工。 学生属于“学生域用户”,而员工仅属于“域用户”。 我能够拉出成员所属的所有组,但是,我想使用 [bool] 来设置 true 或 false。

这就是我正在使用的

Get-ADPrincipalGroupMembership -Identity 12345 | select SamAccountName

SamAccountName
--------------
Domain Users
Organization Management
Enterprise Admins
Domain Admins
Schema Admins

在上面的示例中,我可以看到列出了Domain Admins 我试图只用这段代码把它拉出来,我什至不知道是否有可能。 这是我尝试过的,但都没有奏效

Get-ADPrincipalGroupMembership -Identity 12345 | select SamAccountName | select Domain Admins

Get-ADPrincipalGroupMembership -Identity 12345 | where {SamAccountName -like "Domain Admin"}

在此先感谢您的帮助。

这就是我想要用它作为验证过程做的事情 - 这验证这个人根本不再在系统中,我们需要清理东西。

$adtest = [bool] (Get-ADUser -Filter { SamAccountName -eq $input })

如果他们在系统中,他们可能是学生,学生将不被允许访问 GPO,因此我们需要将他们作为所有者删除。 最终,所有 GPO 都将更改为Domain Admins拥有,并且在创建时将默认为Domain Admins

(Get-ADPrincipalGroupMembership -identity 12345 | select samaccountname).SamAccountName | ? {$_ -eq "Domain Admins" }

# or 

Get-ADPrincipalGroupMembership -identity 12345 | select samaccountname | ? {$_.samAccountName -eq "Domain Admins" }

# Or Check the Domain Admins to see if Domain Admins contain the users you are looking for
Get-ADGroupMember -Identity "Domain Admins" | ? { $_.name -eq 12345 }

第一个示例为您提供名称为“域管理员”的字符串响应(如果存在)。

第二个示例仅为您提供具有 SamAccountName 属性的对象,因为那是您在 Select 语句中使用的内容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM