这是由的自动字符转义功能引起的,
Convertto-Json并且会影响多个符号,例如
<>'&
ConvertFrom-Json将正确读取转义的字符。使用您的示例:
PS C:> {"Passwordu0026123"} | ConvertFrom-JsonPassword&123您的示例代码将导致文件中的字符转义,但
ConvertFrom-Json可以将其读回原始密码。见下文:
PS C:> (Get-Content .example.json -Encoding Ascii) -join "`n" | ConvertFrom-JsonServer1 Server2------- -------@{username=root; password=Password&dfdf} @{username=admin; password=Password&1234}PS C:> (Get-Content .new.json -Encoding Ascii) -join "`n" | ConvertFrom-JsonServer1 Server2------- -------@{username=root; password=Password&dfdf} @{username=admin; password=Password&1234}如果您需要将密码不转义地存储,则可能需要进行一些更复杂的工作。
另外,如果可能,请避免使用受影响的字符。



