Powershell将HashTable转换为对象


哈希表虽然方便,但是它不是真正的对象,所以不能对它应用一些格式化的命令和导出命令。即使导出了也不是期望的结果。最好的方式是将Powershell中的HashTable转换成对象,这样就提高了它的灵活性,方便使用Format-Table格式化命令和Export-CSV等命令。

function ConvertHashTableToObject
{
    begin
    {
        $object = New-Object Object
    }
    process
    {
        $_.GetEnumerator()| ForEach-Object {
        Add-Member -inputObject $object -memberType NoteProperty -name $_.Name -value $_.Value }
        }
    end
    {
        $object
    }
}

$ht1 = @{Domain='www.mossfly.com';SiteName='飞苔博客';Keyword='Powershell教程'}
$ht2 = @{IP='116.255.205.70';Host='west263';OS='Linux'}
$ht1,$ht2 | ConvertHashTableToObject

输出结果如下:

SiteName : 飞苔博客
Domain   : www.mossfly.com
Keyword  : Powershell教程
Host     : west263
IP       : 116.255.205.70
OS       : Linux
本文链接: https://www.pstips.net/powershell-convert-hashtable-to-object.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注