Powershell 报告受保护 OU 的错误信息

Powershell 报告受保护 OU 的错误信息

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

再次检查属性。

  • 在“Active Directory 用户和计算机”中,单击查看,然后单击高级功能(确保已选中,如下所示): 检查 AD 中的高级功能

  • 运行您的行后(它导入了 AD 模块然后运行了脚本)。结果如下(DC 2012R2 std):

假案


  • 因此我进入了“域控制器”OU/右键单击然后选择属性) 华盛顿特区

  • 现在进入“对象”选项卡并检查“保护对象免遭意外删除”复选框是否被选中。(如果被选中则不会出现在您的 PowerShell 查询中,如果没有被选中则会出现)。

在此处输入图片描述

最后一点,由于 FT 会改变屏幕上要显示的对象,因此它会改变对象。因此,我会将“ft”改为“select”,这样它就会保留对象

Get-ADOrganizationalUnit -filter * -Properties ProtectedFromAccidentalDeletion | where {$_.ProtectedFromAccidentalDeletion -eq $false} | Select DistinguishedName,ProtectedFromAccidentalDeletion

答案2

我被迫取消选中/应用,然后通过 GUI 重新选中/应用;之后,powershell 输出有效。

相关内容