gpt4 book ai didi

PowerShell 和 ActiveDirectory 模块 - 查找不是特定组成员的用户

转载 作者:行者123 更新时间:2023-12-04 15:13:00 25 4
gpt4 key购买 nike

上周,我第一次接触到 PowerShell 和 ActiveDirectory。我希望能够找到不是管理员或域管理员的用户列表。

到目前为止,我知道如何使用以下命令/语句获取所有 ActiveDirectory 用户的所有属性:

Get-ADUser -Filter * -Properties *

我想做的是只打印当前 ActiveDirectory 用户的用户名——不是管理员或域管理员。

这是我正在尝试做的一些伪代码/Powershell代码:
$users = Get-ADUser -Filter * -Properties *
foreach($u in $users){
if ($u isn't an administrator OR $u isn't a domain administrator){
Write-Host "User Name:" $u.Name
}
}

当我运行 Get-ADUser -Filter * -Properties *命令,我看到 MemberOf每个用户的属性(property)-我认为这可能是一个线索。我也听说过 AdminCount来自通过 Google 找到的各种来源(有什么叫做 DomainAdminCount 的东西吗?)。

我被特别要求不要使用 ActiveDirectory 的 PowerShell 扩展——尽管各种消息来源都说拥有这个扩展会更容易。

我花了大约 2 个小时测试各种语句组合,但我的新手 PowerShell 状态对我没有太大帮助。我将不胜感激任何帮助,以及任何反馈背后的一些明确解释。

最佳答案

这是非常简单的任务,您不需要先检索所有用户并循环:

$DomainsAdminsDn = (Get-ADGroup 'Domain Admins').DistinguishedName
Get-ADUser -Filter { -not (memberof -eq $DomainsAdminsDn) }
# OR
Get-ADUser -LDAPFilter "(!(memberof=$DomainsAdminsDn))"

您可以对任何其他组执行相同操作。

编辑 :
反向查询,返回 的帐户不是 在团队中)。顺便说一句,这不起作用:
Get-ADUser -Filter { memberof -ne $DomainsAdminsDn }

它将跳过不属于任何其他组的所有帐户,而不是默认帐户。

关于PowerShell 和 ActiveDirectory 模块 - 查找不是特定组成员的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15353414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com