0

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

这就是我正在使用的

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.

4

1 回答 1

1
(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 }

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

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

于 2020-02-14T22:16:54.797 回答