使用" /"在名称中创建regedit键

时间:2017-07-28 08:55:13

标签: powershell

您好,我想知道我目前在我的注册表中创建文件夹这是我的代码

function AddMachineRegistry{
    param(
    [string] $registryPath = $(throw "registryPath is a required parameter"),
    [string] $name = $(throw "name is a required parameter"),
    [int] $value = $(throw "value is a required parameter")
    )

    IF(!(Test-Path $registryPath))
    {
        New-Item -Path $registryPath -ItemType Key -Force | Out-Null     
    }

    New-ItemProperty -Path $registryPath -Name $name -Value $value -PropertyType DWORD -force | Out-Null
}

并试图像这样使用它

AddMachineRegistry "HKLM:\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128\" "Enabled" 0

基本上我试图创建一个名为" RC4 40/128"但当我执行它时,它会创建" RC4 40"文件夹,并在其下创建" 128"

我只是想知道是否有可能创造出来?因为我目前正在使用" New-Item"并给它一个路径。我希望我的文件夹命名为" RC4 40/128"

2 个答案:

答案 0 :(得分:1)

最简单的方法是调用merged_dict = {} merged_dict.update(base_dict) merged_dict.update(other_dict) (基本上,使用CMD执行任务),因为PowerShell希望将正斜杠解释为分隔符。我刚刚在工作中遇到了一个问题,我遇到了这个问题,除了那个问题之外找不到任何解决方案。

小提示:& REG ADD是一个非常慢的操作,如果你打算用它来调用任何东西,我建议使用| Out-Null$Null =

答案 1 :(得分:0)

你必须使用Normaly:

New-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\" -Name "RC4 40/128" -PropertyType DWORD -Value 0

在这种情况下,我们将:

AddMachineRegistry "HKLM:\System\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\" "RC4 40/128" 0

无需反斜杠“/”。替代方案:您可以将路径放入''而不是“”。命令''将特殊字符更改为普通字符。