сначала измените свой текст, чтобы применить метод, который я собираюсь научить вас. Под землей каждая строка части значений должна проходить интерпретацию c #, чтобы такие вещи, как \ s или \ p, были плохими, потому что ничего не значат Таким образом, чтобы иметь обратную косую черту, вам нужно экранировать ее обратной косой чертой, например, \\\\ означает два обратных слеша. После исправления файла вы должны прочитать все содержимое файла и применить командлет convertfrom-stringdata. Вот код, наслаждайтесь.
>> $textfromfile = [IO.File]::ReadAllText((resolve-path .\keyval.txt))
>> $hash = ConvertFrom-StringData $textfromfile
>> $hash
Name Value
---- -----
server \\server\
age 7
destination \nas\public\server
PD: изменить файл одной строкой
>> (gc .\keyval.txt) | % { $_ -replace '\\', '\\'} | Set-Content .\keyval.txt