Powershell Script zum Auslesen der Diensteabhängigkeit

The estimated reading time 1 minutes

Ich habe mich heute mal ein wenig mit der Powershell auseinander gesetzt. Herausgekommen ist ein kleines Script, was die Anhängigkeiten eines bestimmten Dienstes abfragt, diese ausgibt und dann fragt ob dieser Dienst neugestartet werden soll.

# ServiceDependencies.ps1
#Header
""
""
"########################## blog.it-koehler.com ##########################"
""
"Hello " + $env:USERNAME + "!"

"this script shows all dependencies for the specified service and restarts service if you want!"

""

$date = Get-Date -Format g

"Script was executed at " + $date
""
"All services running on localhost are listet" 
""
#display services with status "running"
Get-Service | Where-Object {$_.Status -eq "Running"}
"" 
#userinput which service 
$service = Read-Host "Please input the service you want to know dependencies"
#query dependencies
Get-Service | Where-Object {$_.ServicesDependedOn | Where-Object {$_.Name –match "$service"}} | Format-Table Name, ServicesDependedOn
""
"Do you want to restart the service?"
#userinput restart yes or no
$answer = Read-Host "Y [Yes] N [No]"
if($answer -eq "Y")
{ 
"Service " + $service + " reboots"  
Restart-Service $service -Verbose -Force
"Restart successfully"
pause
}
else 
{
"Nothing is done"
pause
}

Siehe Kommentare im Code

ServiceDependencies Powershell Skript

Default Einstellungen zu Powershell Skripten lässt das Ausführen nicht zu. Im Normalfall steht die Powershell auf “Restricted”

um dies zu prüfen muss folgender Befehl genutzt werden

Get-ExecutionPolicy

services04

 

es muss vor dem Ausführen also noch folgender Befehl ausgeführt und bestätigt werden

Set-ExecutionPolicy Unrestricted

services05

Dann das Powershell Skript ausführen:

services01

Nach dem Ausführen werden nur die laufenden Dienste angezeigt

services02

Nun den Dienst eingeben, dessen Systemkomponenten geprüft werden sollen

 

services03

Nun kann die Powershell wieder für fremde Skripte gesperrt werden

Set-ExecutionPolicy Restricted

 

Print Friendly, PDF & Email
Was this article helpful?
YesNo
0 0 votes
Article Rating
Abonnieren
Benachrichtige mich bei
guest
1 Kommentar
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
Leonie
Leonie
6 Jahre zuvor

Wie man sich eine Übersicht über alle Dienste per PowerShell anzeigen lassen kann und wie Dienste einfach per PowerShell gestartet und gestoppt werden können könnt Ihr auch hier nachlesen, ein ganz netter Beitrag von Michael. Ist ja vielleicht interessant für Euch. http://www.windows-faq.de/2016/01/12/powershell-dienste-auflisten-stoppen-und-starten/