别名为Powershell 3中的属性名称

时间:2013-04-23 17:23:51

标签: powershell

使用以下示例:

Get-Service | ConvertTo-HTML -Property Name, Status > C:\services.htm

我想知道是否可以为属性名称添加别名 - 就像在SQL中一样:

示例:

Get-Service | ConvertTo-HTML -Property Name AS NEWNAME , Status AS MYNEWSTATUSNAME> C:\services.htm

我知道上面的语法不起作用...别名属性名称的正确方法是什么?

3 个答案:

答案 0 :(得分:27)

如何使用select-object?

get-service | select-object -property @{N='MyNewStatus';E={$_.Status}}, @{N='MyNewName';E={$_.Name}} | ConvertTo-HTML > C:\services.htm

答案 1 :(得分:11)

别名属性名称的方法是向对象添加AliasPropery。

Get-Service | 
foreach {
$_ | Add-Member -MemberType AliasProperty -Name MYNEWSTATUSNAME -Value Status -PassThru
} |
Select Name,MYNEWSTATUSNAME

答案 2 :(得分:4)

您可以使用new-object cmdlet创建具有所需属性名称的对象的中间步骤。

Get-Service | foreach{ new-object PSObject -property @{newname=($_.Name); newstatus=($_.Status)}} | ConvertTo-Html > .\services.htm