我试图从文件中导入代理免除列表,然后将这些导入的值写入tge注册表中的两个单独的位置。一个是reg_sz
,另一个是reg_binary
。
reg_binary是个问题。我收到错误,将字符串转换为utf8值。
我正在运行的内容如下:
cls
# $encUnicode = [System.Text.Encoding]::UNICODE
$endUTF8 = [System.Text.Encoding]::UTF8
$B = "H"
$POBS2 = $endUTF8.getstring($b)
write-host $POBS2
这会产生此错误:
Cannot convert argument "bytes", with value: "H", for "GetString" to type
"System.Byte[]": "Cannot convert value "H" to type "System.Byte[]". Error:
"Cannot convert value "H" to type "System.Byte".
Error: "Input string was not in a correct format."""
At C:\Temp\Foo.ps1:10 char:9
+ $POBS2 = $endUTF8.getstring($b)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodException
+ FullyQualifiedErrorId : MethodArgumentConversionInvali
答案 0 :(得分:0)
该getstring()方法期望将字符数组作为输入。
$endUTF8 = [System.Text.Encoding]::UTF8
$B = [char[]]"H"
$POBS2 = $endUTF8.getstring($b)