格式列表转换回哈希表powershell的哈希表

格式列表转换回哈希表powershell的哈希表,powershell,Powershell,我有一个关于在Powershell中获取对象值的问题 我有一个返回对象|格式列表的函数。现在我将返回值赋给变量,并希望从中获取值。请看下面的例子: $output = @{}; $output.A= "123"; 函数返回:$output |格式列表,该列表提供: Name : A Value : 123 在这种情况下,我可以通过$output.A获得值,但当它被包装到函数中时,我不知道如何检索它 function testFunction() { $output = @{};

我有一个关于在Powershell中获取对象值的问题

我有一个返回对象|格式列表的函数。现在我将返回值赋给变量,并希望从中获取值。请看下面的例子:

$output = @{};
$output.A= "123";
函数返回:$output |格式列表,该列表提供:

Name  : A
Value : 123
在这种情况下,我可以通过$output.A获得值,但当它被包装到函数中时,我不知道如何检索它

function testFunction() {
    $output = @{};
    $output.A= "123";

    return $output | Format-List
}

$result = testFunction
$result.A #gives empty value
有人能帮忙吗?我没有访问testFunction的权限,因此无法修改它

function ConvertFrom-FormatListHashtable {
    param ($InputObject)
    PROCESS {
        $tmp = ($InputObject | out-string).Trim() | ConvertFrom-String
        $tmpCount = ($tmp | gm -MemberType NoteProperty).count
        $i = 1
        do {
            $output = @{}
            $output.Add($tmp.$("p$($i+2)"),$tmp.$("p$($i+5)"))
            $output
            $i=$i+6
        }
        while ($i -lt $tmpCount)
    }
}
以你的电话为例

ConvertFrom-FormatListHashtable $result

Name                           Value                                                                                                                   
----                           -----                                                                                                                   
A                              123 

问题是函数是外部模块的一部分:它返回:return$output | Format List;这就是我的问题:)好吧,您可能可以迭代输出并提取/解析信息。但我认为这是不可靠的。这个函数真的很奇怪。我会在本地修改它。同意。作者不应使用
格式列表
发送输出。你想要的是对象数据,而不是它的格式化表示。我用这个更改为他创建了pull请求。我和你有同样的感觉,但我想和其他人确认一下。谢谢你们!再次感谢。我的拉取请求已被接受,因此问题不再发生:)