别名为Powershell 3中的属性名称

Fre*_*Guy 22 powershell

使用以下示例:

Get-Service | ConvertTo-HTML -Property Name, Status > C:\services.htm
Run Code Online (Sandbox Code Playgroud)

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

例:

Get-Service | ConvertTo-HTML -Property Name AS NEWNAME , Status AS MYNEWSTATUSNAME> C:\services.htm
Run Code Online (Sandbox Code Playgroud)

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

Mik*_*ard 31

如何使用select-object?

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

  • 这是一个有用的答案,但对实际提出的问题的更好答案是下面@mjolinor 给出的答案:Add-Member -MemberType AliasProperty `code` dir | % {$_ | Add-Member -MemberType AliasProperty -Name 'lw' -Value 'LastWriteTime' -PassThru} | 排序 lw (2认同)

mjo*_*nor 12

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

Get-Service | 
foreach {
$_ | Add-Member -MemberType AliasProperty -Name MYNEWSTATUSNAME -Value Status -PassThru
} |
Select Name,MYNEWSTATUSNAME
Run Code Online (Sandbox Code Playgroud)