下面是做到這一點的一種方法:
$services = @(@{Computername="ServerA"; ServiceName="ServiceA"},
@{Computername="ServerA"; ServiceName="ServiceB"},
@{Computername="ServerB"; ServiceName="ServiceB"},
@{Computername="ServerB"; ServiceName="ServiceC"},
@{Computername="ServerC"; ServiceName="ServiceC"}
)
$services | %{Get-Service -Computername $_.Computername -ServiceName $_.ServiceName}
# Because I used a hashtable with full parameter names for $services, I can do this trick
$services | %{Get-Service @_ }
現在,我做了很多先進的東西在那裏。我們可以通過將您的數據放入CSV文件來製作此smpler。只需使用ComputerName和ServiceName作爲列來適應此示例。每行只需一個服務器和一個服務。
$services = Import-CSV servicelist.txt
$services | %{Get-Service -Computername $_.Computername -ServiceName $_.ServiceName}
默認的輸出可能不會顯示計算機的名稱,以便這將是一個好主意,它管的Select-Object MachineName, Name, Status
。
起初,哈希表陣列看起來笨重和尷尬,但經過一點思考,我不得不承認這是一個非常優雅的回答這個問題。很好地完成kevmar。 – TheMadTechnician 2014-11-25 02:58:54
感謝您發佈解答kevmar,並感謝Matt編輯我的問題。 Kevmar我今天會試試這個,我會盡快給你發貼謝謝你的回覆。 – 2014-11-25 03:15:12