PowerShell:如何向Get服务输出中添加具有值的新列?

PowerShell:如何向Get服务输出中添加具有值的新列?,powershell,Powershell,我尝试向Get Service输出添加一个新列。到目前为止,我找到的解决方案是添加列,但不可能添加多个值。我将输出保存在数组中,例如: $b = @() $b += Get-Service wuauserv Status Name DisplayName ComputerName - - - - - - - - - - - - - - - - - - - - - --

我尝试向
Get Service
输出添加一个新列。到目前为止,我找到的解决方案是添加列,但不可能添加多个值。我将输出保存在数组中,例如:

$b =  @() 

$b += Get-Service wuauserv
Status        Name                DisplayName           ComputerName                  
- - - - - - -   - - - - - - - -         - - - - - -  --  - - - - - -                   
Running   wuauserv           Windows Update        Server1                
Running   sysmain            Superfetch                     Server5
您知道,如何更改正常输出:

Status        Name       DisplayName                           
- - - -    - - - --     - - -  --  - - - -                   
Running     wuauserv     Windows Update                        
Running     sysmain      Superfetch  
对这样的事情:

$b =  @() 

$b += Get-Service wuauserv
Status        Name                DisplayName           ComputerName                  
- - - - - - -   - - - - - - - -         - - - - - -  --  - - - - - -                   
Running   wuauserv           Windows Update        Server1                
Running   sysmain            Superfetch                     Server5

希望,任何人都能帮助我:)

计算机名
不是cmdlet返回的
System.ServiceProcess.ServiceController
对象的一部分。因此,您必须在select语句中使用表达式并获取computername(例如,使用
$env:computername
):

编辑: 啊,有一个
MachineName
属性可以使用(多亏了Darklite1)。因此,如果要重命名该列,可以使用以下命令:

Get-Service wuauserv | select Status, Name, DisplayName, @{l="ComputerName";e={$_.MachineName}}

ComputerName
不是cmdlet返回的
System.ServiceProcess.ServiceController
对象的一部分。因此,您必须在select语句中使用表达式并获取computername(例如,使用
$env:computername
):

编辑: 啊,有一个
MachineName
属性可以使用(多亏了Darklite1)。因此,如果要重命名该列,可以使用以下命令:

Get-Service wuauserv | select Status, Name, DisplayName, @{l="ComputerName";e={$_.MachineName}}

也许这可以帮助你:

$b = @()

$b += Get-Service -ComputerName SERVER1-Name wuauserv
$b += Get-Service -ComputerName SERVER2 -Name sysmain 

$b | Select-Object Status, Name, DisplayName, MachineName
如果运行以下命令:

$b | Get-Member

它将告诉您有一个名为
MachineName
属性可用。这是一个可以与
Select Object
CmdLet一起使用的命令,以查看输出中的
ComputerName

也许这可以帮助您:

$b = @()

$b += Get-Service -ComputerName SERVER1-Name wuauserv
$b += Get-Service -ComputerName SERVER2 -Name sysmain 

$b | Select-Object Status, Name, DisplayName, MachineName
如果运行以下命令:

$b | Get-Member

它将告诉您有一个名为
MachineName
属性可用。这是一个可以与
Select Object
CmdLet一起使用的工具,用于查看输出中的
ComputerName

不客气:)继续探索,你会在前进中变得更好。不客气:)继续探索,你会在前进中变得更好。谢谢!因此,我可以在同一个表HappyTanks中添加有关服务器的更多详细信息!因此,我可以在同一个表中添加有关服务器的更多详细信息