格式列表转换回哈希表powershell的哈希表
我有一个关于在Powershell中获取对象值的问题 我有一个返回对象|格式列表的函数。现在我将返回值赋给变量,并希望从中获取值。请看下面的例子:格式列表转换回哈希表powershell的哈希表,powershell,Powershell,我有一个关于在Powershell中获取对象值的问题 我有一个返回对象|格式列表的函数。现在我将返回值赋给变量,并希望从中获取值。请看下面的例子: $output = @{}; $output.A= "123"; 函数返回:$output |格式列表,该列表提供: Name : A Value : 123 在这种情况下,我可以通过$output.A获得值,但当它被包装到函数中时,我不知道如何检索它 function testFunction() { $output = @{};
$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请求。我和你有同样的感觉,但我想和其他人确认一下。谢谢你们!再次感谢。我的拉取请求已被接受,因此问题不再发生:)