如何更改 powershell 脚本中哈希 table 列的标题

How can I change the headings of hash table columns in powershell script

我对 Powershell 脚本编写还很陌生。我正在编写一个 power-shell 脚本,我在其中声明了一个散列 table,如下所示:

$a = 1
$b = 2


$my_hash = @{}
$my_hash.Add($a, $b)

当我在 Powershell 中打印 table 时,散列 table 的标题显示

 Name  Value
 ----  -----
 1     2

如何将每列的名称从 "Name, Value" 更改为类似 "Application1, Application2" 的名称? 即

 App1  App2
 ----  -----
 1     2

感谢帮助!

将哈希表通过管道传输到 Select 命令,并即时构建输出,例如:

$My_Hash.keys | Select @{l='App1';e={$_}},@{l='App2';e={$My_Hash.$_}}

的基础上,您可以创建一个通用函数来重命名 "columns":

function Format-Hashtable {
    param(
      [Parameter(Mandatory,ValueFromPipeline)]
      [hashtable]$Hashtable,

      [ValidateNotNullOrEmpty()]
      [string]$KeyHeader = 'Name',

      [ValidateNotNullOrEmpty()]
      [string]$ValueHeader = 'Value'
    )

    $Hashtable.GetEnumerator() |Select-Object @{Label=$KeyHeader;Expression={$_.Key}},@{Label=$ValueHeader;Expression={$_.Value}}

}

然后这样称呼它:

PS C:\> $my_hash |Format-Hashtable -KeyHeader App1 -ValueHeader App2

App1 App2
---- ----
   1    2