Get-ADOrganizationalUnit -filter * -Properties ProtectedFromAccidentalDeletion | where {$_.ProtectedFromAccidentalDeletion -eq $false} | ft DistinguishedName,ProtectedFromAccidentalDeletion
对于确实受到保护的 OU,显示“False”。
这是一个错误吗?或者有更合适的方法来执行此查询?
Name Value
---- -----
PSVersion 5.1.14393.953
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14393.953
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
可能,域控制器(2008R2)框架是否需要升级?它是一个较旧的 PS 版本:
Name Value
---- -----
PSVersion 3.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.36373
BuildVersion 6.2.9200.16481
PSCompatibleVersions {1.0, 2.0, 3.0}
PSRemotingProtocolVersion 2.2
答案1
再次检查属性。
- 运行您的行后(它导入了 AD 模块然后运行了脚本)。结果如下(DC 2012R2 std):
- 现在进入“对象”选项卡并检查“保护对象免遭意外删除”复选框是否被选中。(如果被选中则不会出现在您的 PowerShell 查询中,如果没有被选中则会出现)。
最后一点,由于 FT 会改变屏幕上要显示的对象,因此它会改变对象。因此,我会将“ft”改为“select”,这样它就会保留对象
Get-ADOrganizationalUnit -filter * -Properties ProtectedFromAccidentalDeletion | where {$_.ProtectedFromAccidentalDeletion -eq $false} | Select DistinguishedName,ProtectedFromAccidentalDeletion
答案2
我被迫取消选中/应用,然后通过 GUI 重新选中/应用;之后,powershell 输出有效。