Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell将哈希的内容输出到文件_Powershell_Hashtable - Fatal编程技术网

PowerShell将哈希的内容输出到文件

PowerShell将哈希的内容输出到文件,powershell,hashtable,Powershell,Hashtable,我有代码将排序后的哈希表输出到屏幕: $h.getenumerator() | sort value -descending 看起来是这样的: Name Value ---- ----- 10.10.10.10 69566308 151 10.10.10.11 69566308 143 10.10.10.12 69566308 11

我有代码将排序后的哈希表输出到屏幕:

$h.getenumerator() | sort value -descending
看起来是这样的:

Name                           Value
----                           -----
10.10.10.10 69566308           151
10.10.10.11 69566308           143
10.10.10.12 69566308           112
10.10.10.13 69566308            99
10.10.10.14 69566308            71
10.10.10.15 69566308            70
但是我想把它输出到一个文件中

当我尝试输出到具有

$h.getenumerator() | sort value -descending | out-string | Add-Content D:\Script\iis_stats.log

我得到的只是
D:\Script\iis\u stats.log
中的“System.Collections.DictionaryEntry”


如何修复它?

如果您希望它与屏幕上显示的格式相同(在管道处折叠以便于阅读):


如果您也这样做,屏幕上也会显示类似的输出:

$h.GetEnumerator() | sort value -Descending | ForEach-Object{
    $_.GetType().FullName
}
对于每个条目,您都会看到
System.Collections.DictionaryEntry
,因为它没有合适的等效字符串


那么你应该照mjolinor的建议去做。PowerShell会自动将
| Out Default
命令附加到控制台,以便以视觉上令人愉悦的方式显示。当您将输出发送到
添加内容时
无法进行美化。

您希望如何格式化输出?请后退一步,描述您试图解决的实际问题,而不是您认为的解决方案。哈希表的内容是什么样子的?数据来自哪里?输出应该是什么样子?@AnsgarWiechers Ok我编辑过
$h.getenumerator() | 
  Sort-Object value -descending | 
  Format-Table | 
  Out-String | 
  Add-Content D:\Script\iis_stats.log
$h.GetEnumerator() | sort value -Descending | ForEach-Object{
    $_.GetType().FullName
}