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

如何使用PowerShell替换Cisco配置中secret字段后的密文值

PowerShell实现Cisco配置文件secret密文批量替换方案

核心逻辑是通过正则正向匹配,准确定位所有secret关键字后的密文片段,保留原有配置结构的同时完成密文替换,不会破坏Cisco配置语法。

实现说明

  • 匹配规则采用正向零宽断言正则,仅选中密文内容,不会改动secret关键字、加密级别标识(如示例中的5代表MD5加密)、前后其他配置字段
  • 默认支持自动备份原配置文件,避免替换失误导致配置损坏
  • 适配所有Cisco标准配置格式,既可以匹配enable secret行的密文,也可以匹配username配置行中嵌套的secret密文
  • 写回文件采用ASCII编码,符合Cisco设备配置导入的编码要求,避免乱码

单文件处理代码

# --------------- 按需修改以下参数 ---------------
$configPath = "D:\network_configs\core_switch.cfg"  # 待处理配置文件的本地路径
# 替换后的合规密文,必须用单引号包裹,避免$被PowerShell识别为变量前缀
$replacementCipher = '$1$compliant$ciphervaluexxxxxx'
$enableBackup = $true  # 处理前是否自动备份原文件
# -----------------------------------------------

# 备份原文件
if ($enableBackup) {
    Copy-Item -Path $configPath -Destination "$configPath.bak" -Force
}

# 读取配置并执行替换
$rawConfig = Get-Content -Path $configPath -Raw
# 正则说明:匹配所有"secret 空格 加密级别数字 空格"之后的连续非空字符串(即密文)
$updatedConfig = $rawConfig -replace '(?<=secret\s+\d+\s+)\S+', $replacementCipher

# 写回更新后的配置
Set-Content -Path $configPath -Value $updatedConfig -Encoding ASCII

替换效果验证

针对提供的配置片段,替换后输出结果如下:

enable secret 5 $1$compliant$ciphervaluexxxxxx
!
username juanchis privilege 15 secret 5 $1$compliant$ciphervaluexxxxxx

批量处理目录下所有配置文件

如果需要批量处理整个文件夹下的Cisco配置文件,使用以下遍历逻辑即可:

# --------------- 按需修改以下参数 ---------------
$configFolder = "D:\network_configs\all_devices\"
$replacementCipher = '$1$compliant$ciphervaluexxxxxx'
$enableBackup = $true
# -----------------------------------------------

Get-ChildItem -Path $configFolder -Filter "*.cfg" -File | ForEach-Object {
    if ($enableBackup) {
        Copy-Item -Path $_.FullName -Destination "$($_.FullName).bak" -Force
    }
    $rawConfig = Get-Content -Path $_.FullName -Raw
    $updatedConfig = $rawConfig -replace '(?<=secret\s+\d+\s+)\S+', $replacementCipher
    Set-Content -Path $_.FullName -Value $updatedConfig -Encoding ASCII
}

注意:如果配置中存在非数字加密类型的secret(比如部分IOS版本的secret 9类型加密、或者明文secret),可以调整正则为(?<=secret\s+\S+\s+)\S+适配所有加密类型场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 12:18:15