Herstart een service op afstand met PowerShell op meerdere servers

Ik heb een snelle PowerShell functie gemaakt waarmee ik een service op 1 of meer servers kan herstarten met 1 commando. Ik had nog niet eerder een makkelijke manier gevonden om dit in PowerShell te doen, dus heb ik dit in elkaar gegooid. Wat ik deed was de functiecode in mijn PowerShell profiel plakken op c:gebruikersnaam%gebruikersnaam%documentenWindowsPowershellMicrosoft.PowerShell_profiles.ps1 om er zeker van te zijn dat het elke keer werd geladen als ik mijn PowerShell venster startte. De syntaxis van het script is eenvoudig:

Restart-MultipleServerServices -ServiceName MSExchangeTransport -ServerNames Server1,Server2

De naam van de service is een eenvoudige tekenreeks, en moet de korte naam van de service zijn. De optie ServerNames moet een door komma’s gescheiden lijst zijn van servers waarop u de service opnieuw wilt starten. Dit kan een willekeurig aantal servers zijn, wat betekent dat je dit kunt gebruiken om de service op afstand te stoppen op slechts 1 server of op 100. De uitvoer van de service die opnieuw wordt gestart ziet er als volgt uit:

Kopieer het onderstaande 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

 }
 }

In uw PowerShell-profiel op het onderstaande pad. Als het PS1-bestand er niet is, kunt u het handmatig aanmaken:

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

Bewaar en sluit het bestand en u zou klaar moeten zijn om te rocken!

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.