You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AD导出CSV列表筛选问题:仅排除开头为ARV/BBN的条目而非含该字符的

调整PowerShell脚本实现精准匹配开头字符的排除逻辑

我明白你的需求了——原来的脚本会把所有包含ARV或BBN的CN条目都排除,但你只想排除开头前3个字符恰好是ARV或BBN的条目,保留那些中间包含这些字符串的(比如PR122ARVO7这种),用来检查设备命名规范。

修改后的脚本方案

你只需要调整正则表达式,给匹配规则加上字符串起始锚点^,这样就只会匹配开头的字符了。这里有两种写法,都能实现需求:

写法1:分开匹配每个前缀

$Datei = Import-Csv "C:\FILESPATH\AD-list.csv"
$Datei | Where-Object { $_.CN -notmatch "^ARV" -and $_.CN -notmatch "^BBN" } | Out-GridView -Title "Site Info"

写法2:合并正则表达式(更简洁)

把两个前缀合并成一个正则组,减少一次匹配操作:

$Datei = Import-Csv "C:\FILESPATH\AD-list.csv"
$Datei | Where-Object { $_.CN -notmatch "^(ARV|BBN)" } | Out-GridView -Title "Site Info"

关键逻辑解释

  • ^是正则表达式里的起始锚点,表示“从字符串的第一个字符开始匹配”,所以^ARV只会匹配以ARV开头的CN值,不会匹配中间包含ARV的情况
  • 两种写法效果完全一致,合并写法的优势是只需要执行一次正则匹配,在处理大文件时效率会稍高一点

验证示例

  • 会被排除的条目:CN=ARV-PRO7,...、CN=BBN-XXX,...(开头前3字符是ARV/BBN)
  • 会被保留的条目:CN=PR122ARVO7,...、CN=XYZ-BBN123,...(ARV/BBN在字符串中间)

这样调整后,脚本就能精准筛选出不符合“开头为指定前缀”规则的条目,帮你检查设备命名是否符合规范啦。

内容的提问来源于stack exchange,提问作者Chang85

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:17:45