为什么以管理员身份运行时Search-ADAccount给出不同的结果

时间:2020-10-29 16:35:34

标签: powershell active-directory

我已作为Domain Admin连接到我的DC。当我在PowerShell窗口中运行以下命令时,它将找到2个用户

 Search-ADAccount -UsersOnly -AccountInactive -TimeSpan 90.00:00:00 -SearchBase "OU=myOu,DC=myDomain,DC=local" 
| Where {$_.enabled} | Sort-Object -Property LastLogonDate

当我在PowerShell 以管理员身份运行中运行相同的命令时,它将发现28个用户

如果PowerShell控制台是以管理员身份启动的,则可能会影响cmdlet读取某些对象的能力,我不明白为什么。

有人见过这种行为并且可以解释为什么吗?

1 个答案:

答案 0 :(得分:2)

您可以暂时禁用用户帐户控制(UAC),然后运行PowerShell命令,该命令应返回预期结果,即使您未调用以管理员身份运行。那是您的快速答案。

原因是因为当以非管理员身份运行PowerShell时,UAC并未给您您认为的管理令牌 (但是没有)(即使您已登录) DC作为域管理员)。绕过UAC时,例如(1)禁用它,(2)降低其安全级别,或者(3)调用以管理员身份运行,您拥有读取AD中所有属性以及所有预期属性的所有权限。数据返回。但是在这种情况下,由于没有在DC上启用UAC,因此没有附加管理员令牌时,PowerShell将不会显示属性值。它不会显示任何值/数据(与引发错误相反)。 here上有一个Reddit线程。

相关问题