通过PowerShell设置REG_NONE值

时间:2017-11-28 11:47:13

标签: powershell

New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bmp\OpenWithProgids -Name Paint.Picture -Type None -Value ([byte[]]::new(0)) -Force

适用于Windows 10,但Windows 8.1中存在问题。

1 个答案:

答案 0 :(得分:2)

用于调用构造函数的new静态扩展方法是PowerShell 5.0中的新增功能,PowerShell 5.0是Windows 10附带的Windows PowerShell版本。

在Windows PowerShell 4.0(8.1附带的版本)中,您应该能够通过简单地将空数组转换为byte[]来获得相同类型的空字节数组,如下所示:[byte[]]@()

以前版本的[Microsoft.Win32.RegistryValueKind]没有None值,但指定Unknown并使用[byte[]]对象作为值将导致相同类型的注册表值条目 - 因此适用于两个平台的版本将是:

New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bmp\OpenWithProgids -Name Paint.Picture -Type Unknown -Value ([byte[]]@()) -Force