2014-02-08 75 views
2

我想創建一個腳本,獲取所有服務器的補丁安裝在我們的環境中讀取每個值後打印/斷裂線。我正在運行的腳本在每個服務器從文本文件中讀取後給我連續輸出而不打印任何成功消息。我寫了一個相當基本的腳本!衛生署。PowerShell代碼從文本文件

我想要的,無論是打印帶有分隔/成功消息的每個服務器的詳細信息在一個單獨的文本文件連續打印的CLI另一臺服務器,或者打印每個服務器前插入一些代碼到我的腳本。請找到下面的代碼:

$Computers = gc ServerListFile.txt

Get-hotfix -computer $Computers

請至少給我一些投入,試圖完成它。

回答

2

它看起來像接受$Computers變量作爲string而不是string[](數組)。

你需要把它通過一回路每組修補程序後指定一個換行符:

$computers = gc ServerListFile.txt 
ForEach ($computer in $computers) { 

    # You could even put the computer name at the beginning of the hotfixes 
    "Hotfixes for $($computer)" | Out-File hotfixes.log -a -en ASCII 

    # Get the hotfixes and output to text file 
    Get-Hotfix -computer $computer | Out-File hotfixes.log -a -en ASCII 

    # Add a new line after each computer's hotfixes 
    "`n" | Out-File hotfixes.log -a -en ASCII 
} 
+0

非常感謝!但這是以相同的方式產生的。所有我想要的,就是以命令行本身每個服務器輸出後或管道將其破發點,以文本文件,每個服務器輸出之間的換行符。 – chaladi

+0

改變了我的答案,那是你的意思? –

+0

輝煌!你太棒了。真棒...你剛剛救了我一天。你搖滾@Vasili Syrakis – chaladi