2017-02-17 5 views
0

У меня есть следующий сценарий я хочу работать с несколькими серверамикоманды PowerShell на нескольких серверах

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | 
    Select-Object DisplayName, DisplayVersion, Publisher | #InstallDate 
    Format-Table –AutoSize | 
    Out-File C:\Temp\InventoryTestScripts.txt 

В настоящее время этот выход сохраняется на сервере она проходила с. Я хотел бы запустить эту команду на 30 разных серверах и вывести каждый сервер, сохраненный в один файл. Мне также нужен способ указать, какой набор результатов пришел с какого сервера в файле.

+0

Взгляните на 'Invoke-Command' ... Я дам полный ответ в ближайшее время. – JohnLBevan

+2

Поиск вашего названия здесь на SO возвращает это: http://stackoverflow.com/questions/24009970/how-to-run-a-command-against-multiple-servers-simultaneous-in-powershell. Должен быть обман. Вероятно, есть и другие. – Matt

ответ

0
[string[]]$servers = 'server1,server2,server3' -split ',' #put a list of servers into an array; you can get these however (typically read from a file; in this case splittling a comma separated string) 
$credential = Get-Credential #this will prompt you to enter your account credentials 
Invoke-Command -ComputerName $servers -Credential $credential -ScriptBlock { 
    Get-ItemProperty 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*' | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate 
} | Format-Table PSComputerName, DisplayName, DisplayVersion, Publisher, InstallDate 
+1

Большое вам спасибо! – Amicheals

 Смежные вопросы

  • Нет связанных вопросов^_^