Add Scripts/Powershell/General Purpose/Restart Service Domain Wide.md
This commit is contained in:
		| @@ -0,0 +1,34 @@ | ||||
| **Purpose**: | ||||
| Sometimes you need to restart a service across every computer in an Active Directory Domain.  This powershell script will restart a specific service by name domain-wide.  Each device will be processed in a serialized nature, one-by-one. | ||||
|  | ||||
| !!! warning "Under Connstruction" | ||||
|     This document is under construction and not generalized for general purpose use yet.  Manual work needs to be done to repurpose this script for general usage. | ||||
|  | ||||
| ```powershell | ||||
| # Clear the screen before running the script | ||||
| Clear-Host | ||||
| Write-Host "Starting Domain-Wide Service Restart" -ForegroundColor Green | ||||
|  | ||||
| # Main Script ------------------------------------------------------------------------------------------------------------------------- | ||||
|  | ||||
| # Get a list of all servers from Active Directory | ||||
| Write-Host "Retrieving server list from Active Directory..." | ||||
| $servers = Get-ADComputer -Filter * -Property OperatingSystem | Where-Object { | ||||
|     $_.OperatingSystem -like "*Server*" | ||||
| } | Select-Object -ExpandProperty Name | ||||
|  | ||||
| # Loop through all servers and start the 'cagservice' service | ||||
| foreach ($server in $servers) { | ||||
|     Write-Host ("Attempting to start 'cagservice' on " + $server + "...") | ||||
|     try { | ||||
|         Invoke-Command -ComputerName $server -ScriptBlock { | ||||
|             Start-Service -Name cagservice -ErrorAction Stop | ||||
|             Write-Host "'cagservice' started successfully on $env:COMPUTERNAME" | ||||
|         } -ErrorAction Stop | ||||
|     } catch { | ||||
|         Write-Host ("Failed to start 'cagservice' on " + $server + ": " + $_.Exception.Message) -ForegroundColor Red | ||||
|     } | ||||
| } | ||||
|  | ||||
| Write-Host "Script execution completed." -ForegroundColor Green | ||||
| ``` | ||||
		Reference in New Issue
	
	Block a user