Redémarrer un service à distance en utilisant PowerShell sur plusieurs serveurs

J’ai jeté ensemble une fonction PowerShell rapide qui me permettrait de redémarrer un service sur 1 ou plusieurs serveurs en une seule commande. Je n’avais pas trouvé un moyen facile de faire cela dans PowerShell avant, alors j’ai jeté ceci ensemble. J’ai collé le code de la fonction dans mon profil PowerShell à l’adresse c:\users\%USERNAME%\Documents\WindowsPowershell\Microsoft.PowerShell_profiles.ps1 pour m’assurer qu’il serait chargé chaque fois que je lancerais ma fenêtre PowerShell. La syntaxe du script est simple:

Restart-MultipleServerServices -ServiceName MSExchangeTransport -ServerNames Server1,Server2

Le nom du service est une chaîne simple, et doit être le nom court du service. L’option ServerNames doit être une liste de serveurs séparés par des virgules sur lesquels vous souhaitez redémarrer le service. Il peut s’agir d’un nombre quelconque de serveurs, ce qui signifie que vous pouvez utiliser cette option pour arrêter à distance le service sur un seul serveur ou sur 100. La sortie du service redémarré ressemble à ceci:

Copier le script ci-dessous :

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

 }
 }

Dans votre profil PowerShell au chemin ci-dessous. Si le fichier PS1 n’est pas là, vous pouvez le créer manuellement:

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

Enregistrez et fermez le fichier et vous devriez être prêt à basculer!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.