有人能告诉我如何获得如下例所示的用户名,身份参考和访问控制类型吗?
Username IdentityRefrerance AccessControlType fred BuiltIn\Account Operator Allow
我创建了以下PS脚本,但我无法获取用户名。
[groovy:message.getExceptionPayload().getRootException().getMessage()]
答案 0 :(得分:1)
无需循环两次或多次调用Get-ADUser
。只需对第一个Get-Acl
返回的对象运行Get-ADUser
,然后使用calculated property添加用户名:
Get-ADUser -Filter * | ForEach-Object {
$username = $_.SamAccountName
(Get-Acl $_.DistinguishedName).Access |
Where-Object {$_.IdentityReference -eq "BUILTIN\Account Operators"} |
Select-Object @{n='Username';e={$username}}, IdentityReference,
AccessControlType
}
答案 1 :(得分:0)
所以,乍一看这有点棘手。但答案实际上很简单!
您想要运行Get-ADUser
命令的SamAccountName属性。由于我们使用ForEach($user in $users)
逐步完成了每个结果,因此您可以使用$user.SamAccountName
随时引用该属性。
我认为这可以捕捉到您正在尝试做的事情:
foreach ($User in $Users) {
(Get-ACL (Get-ADUser -Identity $User).distinguishedname).access |
where-Object {$_.IdentityReference -eq "BUILTIN\Account Operators"} return true |
select $user.SamAccountName, identityreference, accesscontroltype
}