需要以下 AD 脚本的指导
Need guidance with the below AD Script
我在尝试拉出 AD 中每个组的安全选项卡的成员时遇到问题......有人可以帮忙吗?
Get-ADGroup -filter * -Properties name, security | select security, @{n=’Security’; e= { ( $_.Security | % { (Get-ADObject $_).Name }) -join “,” }}
错误如下:
Get-ADGroup : One or more properties are invalid.
Parameter name: security
At line:1 char:1
+ Get-ADGroup -filter * -Properties security | select security, @{n=’Se ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-ADGroup], ArgumentException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.ArgumentException,Microsoft.ActiveDirectory.Management.Commands.GetADGroup
我在这里错过了什么?
您可以将 Get-Acl
cmdlet 与 AD 提供程序结合使用。如果您要获取所有组,则必须使用 ActiveDirectory 模块,因此您也应该有可用的提供程序。该提供程序允许您像浏览文件系统一样浏览 Active Directory。因此,首先要做的是切换到该提供商:
cd AD:
然后您就可以像您想要的那样获得您的群组:
$Groups = Get-ADGroup -filter *
现在您可以遍历这些并使用 distinguishedName 获取每个组对象的 ACL。现在,有几种方法可以做到这一点,我将使用 Add-Member
。 AD 组对象喜欢尝试创建任何新成员 ADPropertySet,因此我们将使用 -force
参数来确保它是一个 NoteProperty。
$Groups | ForEach-Object{
$ACLs = Get-Acl -Path $_.distinguishedName
Add-Member -InputObject $_ -NotePropertyName 'Security' -NotePropertyValue $ACL.Access -Force
}
然后你可以做一些像$Groups|Format-Table Name,Security
之类的事情。
我在尝试拉出 AD 中每个组的安全选项卡的成员时遇到问题......有人可以帮忙吗?
Get-ADGroup -filter * -Properties name, security | select security, @{n=’Security’; e= { ( $_.Security | % { (Get-ADObject $_).Name }) -join “,” }}
错误如下:
Get-ADGroup : One or more properties are invalid.
Parameter name: security
At line:1 char:1
+ Get-ADGroup -filter * -Properties security | select security, @{n=’Se ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Get-ADGroup], ArgumentException
+ FullyQualifiedErrorId : ActiveDirectoryCmdlet:System.ArgumentException,Microsoft.ActiveDirectory.Management.Commands.GetADGroup
我在这里错过了什么?
您可以将 Get-Acl
cmdlet 与 AD 提供程序结合使用。如果您要获取所有组,则必须使用 ActiveDirectory 模块,因此您也应该有可用的提供程序。该提供程序允许您像浏览文件系统一样浏览 Active Directory。因此,首先要做的是切换到该提供商:
cd AD:
然后您就可以像您想要的那样获得您的群组:
$Groups = Get-ADGroup -filter *
现在您可以遍历这些并使用 distinguishedName 获取每个组对象的 ACL。现在,有几种方法可以做到这一点,我将使用 Add-Member
。 AD 组对象喜欢尝试创建任何新成员 ADPropertySet,因此我们将使用 -force
参数来确保它是一个 NoteProperty。
$Groups | ForEach-Object{
$ACLs = Get-Acl -Path $_.distinguishedName
Add-Member -InputObject $_ -NotePropertyName 'Security' -NotePropertyValue $ACL.Access -Force
}
然后你可以做一些像$Groups|Format-Table Name,Security
之类的事情。