您好,我想知道我目前在我的注册表中创建文件夹这是我的代码
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"答案 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
无需反斜杠“/”。替代方案:您可以将路径放入''而不是“”。命令''将特殊字符更改为普通字符。