对于Microsoft提供的私有预览工具,需要将注册表值设置为REG_DWORD值46,然后将基础从十六进制更改为十进制。以下是我所指的文件的一部分:
我正在创建一个积极主动的修复脚本,将其推送到一组需要此Reg键/项的机器上,预览工具才能正常工作。
$regkeyPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate"
$regEntry = "WUfBDF"
$desiredValue = 46
function createRegEntry($path, $entry, $value){
write-output "Remediating registry entry."
if(test-path -Path $path){
write-output "$path exists. Setting $entry"
Set-ItemProperty -Path $path -Name $entry -Value $value -Type DWord -force | out-null
}else{
New-Item -Path $Path -Force
New-ItemProperty -Path $path -Name $entry -Value $value -PropertyType DWord -force | out-null
}
}
createRegEntry $regkeyPath $regEntry $desiredValue
我从Microsoft文档中读取了Set-ItemProperty文档这里,在创建read值时,它的基本值默认为十六进制,必须手动修改。以十进制形式将其更改为REG_DWORD的任何方式
发布于 2022-07-05 20:03:06
regedit UI中的"base“选项为用户提供了方便。指令可以很容易地说“将基设置为十六进制并输入2e”--它们都是相同的数字。有时,使用十六进制数更容易--例如,0xF000
(十六进制)而不是61440
(十进制),反之亦然。
实际上,如果您将对话框设置为Decimal,输入46,然后更改为十六进制,您将看到“值数据”自动更改为2e .
它在主详细信息窗格中显示了这两个值:
同样,在编写PowerShell代码时,您可以编写$desiredValue = 46
或$desiredValue = 0x2E
并获得相同的结果。它们都是同一个数字的表示--一个十进制和一个十六进制--这只是取决于您的偏好,您使用哪种格式。
https://stackoverflow.com/questions/72874195
复制相似问题