我有两个数组
$adg
-(AD 组列表)$dbs
-(数据库名称列表)假设我使用这个命令
$adg -match $dbs.i
输出将是名称中包含字符串 $dbs
的所有 AD 组。但是,我的目标是找到不属于 AD 组数组的 DB。
例如:
$adg = @("Dev22_Owner","Test49_Owner","Rocket_Owner")
$dbs = @("Dev22", "Confidential", "InternDB", "Rocket", "Test49")
我应该采取什么方法来获得输出:我试过
$dbs | Where $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/