找不到与参数名称‘Type’匹配的参数

找不到与参数名称‘Type’匹配的参数

我正在尝试使用以下命令设置注册表项,但不知何故类型参数未被接受。如果参数有误,有人可以纠正我吗?但是当我看到 regedit 时,类型是 Reg_Dword

Invoke-Command -ComputerName @("ServerName") -ScriptBlock{Set-ItemProperty -Path "HKU:\UserSession\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name "ProxyEnable" -Value 1 -Type "DWord"}


A parameter cannot be found that matches parameter name 'Type'.
+ CategoryInfo          : InvalidArgument: (:) [Set-ItemProperty], ParameterBindingException
+ FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.SetItemPropertyCommand
+ PSComputerName        : ServerName

答案1

Set-ItemProperty没有名为的参数-Type。它只会修改现有属性,您无法更改类型。因此,如果您想修改现有属性,只需省略该参数即可。

如果你想创建一个新的属性,你可以使用New-ItemProperty-PropertyType它有一个您可以使用的参数。

答案2

较旧版本的 power-shell 没有 -Type 属性。您应该检查 powershell 的版本,并可能恢复使用类似以下内容:

[Microsoft.Win32.Registry]::SetValue("HKEY_USERS\UserSession\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyEnable",1,[Microsoft.Win32.RegistryValueKind]::DWord)

另外,我不相信“HKU\UserSession”存在。你是指 HKCU 吗?

相关内容