以下行将注册表值读取到变量中
$renames = (Get-ItemProperty "HKLM:\System\CurrentControlSet\Control\Session Manager").PendingFileRenameOperations
如果我直接使用该变量创建新的注册表项,效果很好,新值与前一个值相同。
Set-ItemProperty "HKLM:\System\CurrentControlSet\Control\Session Manager" -name PendingFileRenameOperationsNew -value $renames -type MultiString
我需要将变量存储到文件中并从其他脚本中使用它。我尝试用这种方式
$renames | Out-File C:\temp\renames.txt
$renamesFromFile = Get-Content C:\temp\renames.txt -Raw
Set-ItemProperty "HKLM:\System\CurrentControlSet\Control\Session Manager" -name PendingFileRenameOperationsThroughFile -value $renamesFromFile -type MultiString
不幸的是,这会导致注册表值的每行末尾出现一些额外的字节。如何正确存储和恢复注册表值?
(我需要 PowerShell 版本 5.1 中的代码(今天 Windows 中默认))
下次还是问问别人吧
我不知道,但你可以随时问别人x