akm*_*ith 7 windows powershell
我有两个数组
$adg-(AD组列表)
$dbs-(数据库名称列表)
假设我使用这个命令
$adg -match $dbs.i
输出将是$dbs名称中包含该字符串的所有 AD 组。
但是,我的目标是找到不属于 AD 组数组的数据库。
例如:
$adg = @("Dev22_Owner","Test49_Owner","Rocket_Owner")
$dbs = @("Dev22", "Confidential", "InternDB", "Rocket", "Test49")
Run Code Online (Sandbox Code Playgroud)
我应该采取什么方法来获得输出:
Confidential
InternDB
我尝试过$dbs | Where $adg -notmatch $dbs.i,但没有输出。
我首先从广告组中删除不必要的用户部分:
$groups = $adg | ForEach-Object {
$_ -replace '_.*?$'
}
Run Code Online (Sandbox Code Playgroud)
然后您可以使用Where-Object带有-notin运算符的 cmdlet 来过滤它们:
$dbs | Where-Object { $_ -notin $groups }
Run Code Online (Sandbox Code Playgroud)
输出:
Confidential
InternDB
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11762 次 |
| 最近记录: |