Elhelyről történő szolgáltatás újraindítása a PowerShell segítségével több kiszolgálón

Összedobtam egy gyors PowerShell funkciót, amely lehetővé teszi egy szolgáltatás újraindítását 1 vagy több kiszolgálón egyetlen paranccsal. Korábban nem találtam erre egyszerű módot a PowerShellben, így ezt dobtam össze. A funkció kódját beillesztettem a PowerShell-profilomba a c:\users\%USERNAME%\Documents\WindowsPowershell\Microsoft.PowerShell_profiles.ps1 címre, hogy minden alkalommal betöltődjön, amikor elindítom a PowerShell ablakot. A szkript szintaxisa egyszerű:

Restart-MultipleServerServices -ServiceName MSExchangeTransport -ServerNames Server1,Server2

A szolgáltatás neve egy egyszerű karakterlánc, és a szolgáltatás rövid neve kell legyen. A ServerNames opció legyen egy vesszővel elválasztott listája azoknak a szervereknek, amelyeken újra akarja indítani a szolgáltatást. Ez tetszőleges számú szerver lehet, vagyis ezzel távolról leállíthatja a szolgáltatást akár csak 1 szerveren, akár 100 szerveren is. A szolgáltatás újraindításának kimenete így néz ki:

Másolja ki az alábbi szkriptet:

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

 }
 }

A PowerShell profilodba az alábbi elérési útvonalon. Ha a PS1 fájl nincs ott, manuálisan is létrehozhatja:

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

Mentsd el és zárd be a fájlt, és máris indulhatsz!

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.