gpt4 book ai didi

windows - 获取AD计算机不像专有名称

转载 作者:行者123 更新时间:2023-12-03 01:25:46 26 4
gpt4 key购买 nike

我正在尝试从AD获取计算机列表,但不包括不再使用的某些计算机。
这是我的代码:

$ServerList = Get-ADComputer -Filter * | Where { 
$_.DistinguishedName -like "*Computers*" -and $_.DistinguishedName -notlike @("*server1*","*Server2*")
} | Select-Object Name
我正在尝试将要排除的计算机放入数组而不是使用
-and $_.DistinguishedName -notlike "*serverIwantToExclude*"
你们能告诉我如何修改它的想法吗?

最佳答案

-notlike不支持右侧(RHS)的集合。一种类似的预期方法是使用-notmatch,它是一个正则表达式字符串:

$ServerList = Get-ADComputer -Filter * |
Where { $_.DistinguishedName -like "*Computers*" -and $_.DistinguishedName -notmatch 'server1|Server2'} |
Select-Object Name

如果要首先在列表中显示服务器名称,则可以从中创建一个正则表达式字符串。
$serverdown = 'server1','server2'
$regex = $serverdown -join '|'
$ServerList = Get-ADComputer -Filter * |
Where { $_.DistinguishedName -like "*Computers*" -and $_.DistinguishedName -notmatch $regex} |
Select-Object Name

如果您不 anchor 定正则表达式字符串,它将在目标字符串中的任何位置(有效地具有周围的通配符)查找正则表达式匹配项。 |是一种替代(有效的 OR)。
还有其他支持集合的运算符,例如 -contains-in-notin-notcontains。但是,它们必须完全匹配并且不能使用通配符。

关于windows - 获取AD计算机不像专有名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63250884/

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