Riavviare un servizio da remoto usando PowerShell su più server

Ho messo insieme una rapida funzione PowerShell che mi avrebbe permesso di riavviare un servizio su 1 o più server con un solo comando. Non avevo trovato un modo semplice per farlo in PowerShell prima, così ho messo insieme questo. Quello che ho fatto è stato incollare il codice della funzione nel mio profilo PowerShell in c:\users\%USERNAME%\Documents\WindowsPowershell\Microsoft.PowerShell_profiles.ps1 per assicurarmi che fosse caricato ogni volta che avviavo la mia finestra PowerShell. La sintassi dello script è semplice:

Restart-MultipleServerServices -ServiceName MSExchangeTransport -ServerNames Server1,Server2

Il nome del servizio è una semplice stringa e dovrebbe essere il nome breve del servizio. L’opzione ServerNames dovrebbe essere un elenco separato da virgole di server su cui si desidera riavviare il servizio. Può essere qualsiasi numero di server, il che significa che puoi usarlo per fermare da remoto il servizio su 1 solo server o su 100. L’output del servizio riavviato assomiglia a questo:

Copia il seguente script:

function Restart-MultipleServerServices($ServiceName, $ServerNames)
{

foreach ($i in $ServerNames)
{
$service = Get-Service -ComputerName "$i" -name $ServiceName
 $service.stop()
 do { Start-sleep -Milliseconds 200}
 until ((Get-Service -ComputerName "$i" -Name $ServiceName).status -eq 'Stopped')
 Write-Host "Attempting to Stop Service $($ServiceName) on Server $i" -ForegroundColor Green
 Start-Sleep 10
 $service.start()
 do { Start-sleep -Milliseconds 200}
 until ((Get-Service -ComputerName "$i" -Name $ServiceName).status -eq 'Running')
 Write-Host "Attempting to Start Service $($ServiceName) on Server $i" -ForegroundColor Green

 }
 }

Nel tuo profilo PowerShell al seguente percorso. Se il file PS1 non c’è, puoi crearlo manualmente:

 1: C:\Users\%USERNAME%\Documents\WindowsPowershell\Microsoft.PowerShell_profile.ps1

Salva e chiudi il file e dovresti essere pronto per il rock!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.