Powershell-查找具有特定名称的配置单元,然后添加密钥

Powershell-查找具有特定名称的配置单元,然后添加密钥,powershell,hive,registry,Powershell,Hive,Registry,我目前正在尝试在powershell中编写一个代码,它将查找名为“c02ebc5353d9cd11975200aa004ae40e”的注册表配置单元,然后为每个具有该名称的配置单元的实例添加一个二进制键 我目前有下面的代码,它将添加到我手动找到的一个示例的代码中 $path = "HKCU:\SOFTWARE\Microsoft\Office\15.0\Outlook\Profiles\Name Of Outlook Profile\c02ebc5353d9cd11975200aa004ae40

我目前正在尝试在powershell中编写一个代码,它将查找名为“c02ebc5353d9cd11975200aa004ae40e”的注册表配置单元,然后为每个具有该名称的配置单元的实例添加一个二进制键

我目前有下面的代码,它将添加到我手动找到的一个示例的代码中

$path = "HKCU:\SOFTWARE\Microsoft\Office\15.0\Outlook\Profiles\Name Of Outlook Profile\c02ebc5353d9cd11975200aa004ae40e"

New-ItemProperty -Path $path -Name 00030354 -PropertyType Binary -Value ([byte[]](0x00,0x00,0x00,0x00)) -Force
我有一段代码可以在香港大学进行搜索:

$listhkcu = get-childItem "HKCU:\" -recurse
关于如何为具有此名称的配置单元的每个实例添加此二进制键,有什么想法吗

任何想法或帮助都将不胜感激。

试试

[byte[]]$stuff = $(0x30, 0x02, 0x08, 0xAF)
$path = 'HKCU:\Environment'
New-ItemProperty -Path $path -Name 'thing' -Value $stuff -PropertyType Binary

你想看看你刚刚创造的价值吗

Get-ItemProperty -Path $path -Name 'thing'

现在在RegEdit中


创建后检查您的搜索。

这有点迂腐,但只是为了让您知道,您正在搜索的是一把钥匙。您正在HKCU蜂箱中搜索。您想添加一个值。谢谢您的更正。当使用不正确的术语时,最好知道!好的,这很好!尽管我如何在中查找任何名为“Environment”的键名,然后在找到每个名为“Environment”的键后添加该值?谢谢!:)使用类似于
ls'HKCU:\'-Recurse{$\u.Name-like'*Environment*}的方法选择PSParentPath | ft-AutoSize-Wrap
以查找HKCU配置单元中的所有键。使用
foreach对象
迭代这些键,并添加所需内容。首先备份您的注册表:-)这很好,我已经稍微更改了它,以获得PSPath而不是父级。剩下的唯一问题是,它有Microsoft.PowerShell.Core\Registry::HKEY\U CURRENT\U USER\Software\Microsoft\Office\16.0\Outlook,而不是仅从HKEY\U CURRENT开始。。etc我尝试执行$path.replace(“Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER”,“HKU:”),但我收到错误“方法调用失败,因为[Microsoft.PowerShell.Commands.Internal.Format.FormatStartData]不包含名为“replace”的方法”。但是如果我在一个正态变量上做这个,替换部分可以正常工作吗?