【发布时间】:2018-07-11 21:12:22
【问题描述】:
我正在查看Powershell - Get-ADComputer -properties memberof,但它对我不起作用。匹配总是返回真。所以我将在组列表中使用像域计算机这样简单的东西,-notmatch 应该过滤掉属于域计算机组的任何内容,它仍然返回属于域计算机的计算机。我想要的只是一个脚本,它可以获取计算机并根据组列表检查它们的成员资格,如果它们不属于该组列表,则返回它们。
$groups = @("Terminal Server License Servers","Exchange Trusted Subsystem","Cert Publishers","Domain Computers")
$regex = '^({0})' -f ($groups -join '|')
get-adcomputer -Filter {OperatingSystem -like "Windows Server 200*"} -properties * | Where-Object{($_.MemberOf | Get-ADGroup).Name -notmatch $regex} | Select-Object Name | fl
【问题讨论】:
-
您能否向我们展示您对所附代码的实现,以便我们更好地了解您正在尝试做什么?
-
请发布您实际运行的代码,而不是指向另一个问题的链接。请编辑您的问题以提供此代码。请勿将其作为评论发布。
-
这是链接问题中答案的确切代码(除了您删除了几个属性)。您没有进行任何更改以使其适合您?
标签: regex powershell filter