2015-11-04 22 views
1

我嘗試在Get-Service輸出中添加一個新列。我發現的解決方案,直到現在,添加列,但不可能添加多個值。我保存在一個陣列輸出。例如像這樣:PowerShell:如何向Get-Service輸出添加一個包含值的新列?

$b = @() 

$b += Get-Service wuauserv 

你知道嗎,我怎麼可以改變正常的輸出中:

Status  Name  DisplayName       
- - - - - - - --  - - - -- - - - -     
Running  wuauserv  Windows Update       
Running  sysmain  Superfetch 

是這樣的:

Status  Name    DisplayName   ComputerName     
- - - - - - - - - - - - - - -   - - - - - - -- - - - - - -     
Running wuauserv   Windows Update  Server1     
Running sysmain   Superfetch      Server5 

希望任何人都可以幫助我:)

回答

0

也許這可以幫助你:

$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 

它將告訴你有一個Property可用稱爲MachineName。這是您可以與Select-Object CmdLet一起使用以在輸出中查看ComputerName的那個。

+0

非常感謝! – Temerita

+0

不客氣:)繼續探索,你會越來越好。 – DarkLite1

0

ComputerName不是System.ServiceProcess.ServiceController的一部分o由Get-Service cmdlet返回的對象。因此,你必須使用你的SELECT語句中的表達,獲得計算機名(例如,使用$env:computername):

Get-Service wuauserv | select Status, Name, DisplayName, @{l="ComputerName";e={$env:COMPUTERNAME}} 

編輯: 啊,有一個MachineName屬性,您可以使用(感謝Darklite1 )。所以,如果你要重命名的列,您可以使用此:

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

謝謝!所以我可以在同一張表中添加一些關於服務器的更多細節* happy * – Temerita

相關問題