25

使用以下示例:

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

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

4

3 回答 3

39

使用选择对象怎么样?

get-service | select-object -property @{N='MyNewStatus';E={$_.Status}}, @{N='MyNewName';E={$_.Name}} | ConvertTo-HTML > C:\services.htm
于 2013-04-23T18:44:10.723 回答
18

给属性名取别名的方法是给对象添加一个 AliasPropery。

Get-Service | 
foreach {
$_ | Add-Member -MemberType AliasProperty -Name MYNEWSTATUSNAME -Value Status -PassThru
} |
Select Name,MYNEWSTATUSNAME
于 2013-04-23T18:16:14.490 回答
4

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

Get-Service | foreach{ new-object PSObject -property @{newname=($_.Name); newstatus=($_.Status)}} | ConvertTo-Html > .\services.htm
于 2013-04-23T18:04:19.997 回答