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

PowerShell技术需求:查找指定注册表Hive并添加Binary键

批量查找目标注册表Hive并添加Binary属性的PowerShell脚本

看起来你已经搞定了单个实例的操作,现在我们把它扩展成自动遍历所有匹配的注册表项并批量添加指定Binary属性的版本,这样就不用手动一个个找路径啦。

完整脚本示例

# 定义要查找的目标注册表Hive名称
$targetHiveName = "c02ebc5353d9cd11975200aa004ae40e"
# 定义搜索的根路径(可根据需求调整,比如扩展到HKLM需要管理员权限)
$searchRoot = "HKCU:\SOFTWARE\Microsoft\Office\15.0\Outlook\Profiles"

# 递归查找所有匹配目标名称的注册表目录
$foundHives = Get-ChildItem -Path $searchRoot -Recurse -Directory | 
              Where-Object { $_.PSChildName -eq $targetHiveName }

# 遍历每个找到的Hive,添加Binary属性
foreach ($hive in $foundHives) {
    try {
        # 要添加的属性名称和二进制值(替换成你实际需要的二进制数据)
        $propertyName = "00030354"
        $binaryValue = [byte[]]@(0x00, 0x01, 0x02) # 示例二进制数组,按需修改

        # 添加属性,-Force参数确保属性已存在时会覆盖
        New-ItemProperty -Path $hive.PSPath -Name $propertyName -PropertyType Binary -Value $binaryValue -Force -ErrorAction Stop
        Write-Host "成功为路径 $($hive.PSPath) 添加属性 $propertyName"
    }
    catch {
        Write-Warning "处理路径 $($hive.PSPath) 时出错: $_"
    }
}

关键细节说明

  • 调整搜索范围:如果需要搜索HKLM:\SOFTWARE\Microsoft\Office这类系统级路径,记得以管理员身份运行PowerShell,否则会因权限不足无法访问部分注册表项。
  • 自定义二进制值:把示例中的[byte[]]@(0x00, 0x01, 0x02)替换成你实际需要的二进制数据,直接按十六进制字节数组的格式编写即可。
  • 避免覆盖属性:如果不希望覆盖已存在的同名属性,去掉-Force参数即可,此时脚本会在属性已存在时抛出错误并跳过该路径。
  • 适配不同Office版本:如果是Office 365(版本16.0),只需要修改$searchRoot里的版本号为16.0即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:41:45