您可以尝试使用某些字符串操作来获取预期的JSON格式,然后使用ConvertFrom-Json将其转换为PSCustomObject。
简单示例:(简单,因为这假设被替换的这些字符只是分隔符)
# First, clean up the string.
PS C:\> $mystring = "@{Account='User01';Domain='Domain01';Admin='True'}"
PS C:\> $mystring = $mystring -replace "^@", ""
PS C:\> $mystring = $mystring -replace "=", ":"
PS C:\> $mystring = $mystring -replace ";", ","
PS C:\> $mystring
{Account:'User01',Domain:'Domain01',Admin:'True'}
# Afterwards, convert to PSCustomObject.
PS C:\> $myobject = $mystring | ConvertFrom-Json
PS C:\> $myobject
Account Domain Admin
------- ------ -----
User01 Domain01 True
这也可以转换回JSON:
PS C:\> $myobject | ConvertTo-Json
{
"Account": "User01",
"Domain": "Domain01",
"Admin": "True"
}