我有两个数组
$adg
-(广告组列表)$dbs
-(数据库名称列表)
假设我使用这个命令
$adg -匹配 $dbs.i
输出将是名称中包含字符串 $dbs
的所有 AD 组。
但是,我的目标是找到不属于 AD 组数组的数据库。
例如:
$adg = @("Dev22_Owner","Test49_Owner","Rocket_Owner")
$dbs = @("Dev22", "Confidential", "InternDB", "Rocket", "Test49")
我应该采用什么方法来获取输出:
Confidential
InternDB
我试过 $dbs |其中 $adg -notmatch $dbs.i
但没有输出。
最佳答案
我会先从广告组中删除不必要的用户部分:
$groups = $adg | ForEach-Object {
$_ -replace '_.*?$'
}
然后您可以使用 Where-Object
cmdlet 和 -notin
运算符来过滤它们:
$dbs | Where-Object { $_ -notin $groups }
输出:
Confidential
InternDB
关于windows - 查找值不属于另一个数组 PowerShell 的数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48862720/