Поэтому я должен добавить эту запись в реестр с помощью PowerShell, и, к сожалению, в ней есть место и /
. Я хотел бы знать, каков синтаксис для добавления такой записи или нового метода, потому что я не могу найти хороший ответ. Для ясности необходимо создать ключ под названием RC4 128/128
в папке ciphers.
New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers" -Name RC4 128/128
Это ошибка, которую я получил ниже:
New-Item : A positional parameter cannot be found that accepts argument '128/128'. At line:1 char:1 + New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProvid ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [New-Item], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.NewItemCommand
@lit Это одна из вещей, которую Powershell не может понять. Каждый случай, который я видел при попытке работать с SCHANNEL, возвращается к использованию классов .NET для управления этим путем в реестре. Я думаю, это из-за его интерпретации пути и того, что он хорошо воспринимает любое направление косой черты.
Это не проблема Powershell, но проблема в том, как написан командлет New-Item
.
Вот как вы это делаете:
([Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey([Microsoft.Win32.RegistryHive]::LocalMachine, $env:COMPUTERNAME)).CreateSubKey('SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 128/128')
Предоставлено: u / bhudlemeyer из Reddit.
Очень странно, что они требуют, чтобы вы создали ключевой путь с пробелом и косой чертой, потому что даже regedit не позволяет этого.
благодарю вас! это сработало, а затем я использовал Set-ItemProperty
, чтобы добавить включенное двойное слово, и теперь это хорошо.
Вы пробовали цитировать?
-Name "RC4 128/128"