Abfrage von Diensten per CMD - teilweise sehr lange Antwortzeiten
Hallo,
vor kurzem habe ich mir eine Batch-Datei erstellt, mit deren Hilfe ich überprüfen kann, ob die Citrix-Druckdienste auf entfernten Servern laufen.
Die Datei sieht vereinfacht folgendermaßen aus: sc \\SERVER query "DIENST"
Diese Abfrage läuft für 3 virualisierte Citrix-Server mit Win2008R2. Die Antwort von 2 der 3 Servern kommt innerhalb von Millisekunden zurück. Bei einem der Server (es ist immer derselbe) dauert die Antwort ca. 10 Sekunden.
Hat jemand eine Idee woran das liegen könnte? Wenn ein User anruft und über Druckerprobleme klagt, bräuchte ich idealerweise sofort die Antworten der Dienste...
Vielen Dank.
vor kurzem habe ich mir eine Batch-Datei erstellt, mit deren Hilfe ich überprüfen kann, ob die Citrix-Druckdienste auf entfernten Servern laufen.
Die Datei sieht vereinfacht folgendermaßen aus: sc \\SERVER query "DIENST"
Diese Abfrage läuft für 3 virualisierte Citrix-Server mit Win2008R2. Die Antwort von 2 der 3 Servern kommt innerhalb von Millisekunden zurück. Bei einem der Server (es ist immer derselbe) dauert die Antwort ca. 10 Sekunden.
Hat jemand eine Idee woran das liegen könnte? Wenn ein User anruft und über Druckerprobleme klagt, bräuchte ich idealerweise sofort die Antworten der Dienste...
Vielen Dank.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 237786
Url: https://administrator.de/forum/abfrage-von-diensten-per-cmd-teilweise-sehr-lange-antwortzeiten-237786.html
Ausgedruckt am: 25.04.2025 um 08:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo @DS-6.1,
steht denn nichts im Eventlog des langsamen Servers?
Ist hier möglicherweise die Uhrzeit am Server falsch gestellt?
Ansonsten kannst du die Powershell verwenden. Die soll wohl schneller laufen als SC:
Gruß,
@Snowman25
€dit: Ändern von
steht denn nichts im Eventlog des langsamen Servers?
Ist hier möglicherweise die Uhrzeit am Server falsch gestellt?
Ansonsten kannst du die Powershell verwenden. Die soll wohl schneller laufen als SC:
$a = gwmi -query "SELECT * FROM win32_service WHERE name = 'Spooler'" -computer SERVER1
$b = gwmi -query "SELECT * FROM win32_service WHERE name = 'Spooler'" -computer SERVER2
$c = gwmi -query "SELECT * FROM win32_service WHERE name = 'Spooler'" -computer SERVER3
Write-Host $a.Name`ton $a.__SERVER`tis $a.STATUS`twith state $a.STATE`n -NoNewLine
Write-Host $b.Name`ton $b.__SERVER`tis $b.STATUS`twith state $b.STATE`n -NoNewLine
Write-Host $c.Name`ton $c.__SERVER`tis $c.STATUS`twith state $c.STATE`n -NoNewLine
Gruß,
@Snowman25
€dit: Ändern von
ECHO
auf Write-Host
, damit keine Zeilenumbrüche den Output zerschießen.
z.B. mit folgendem Powershell-Script, das ganze in den Taskplaner gepackt und regelmäßig ausgeführt.
oder mit Batch ganz banal so:
$dienst = Get-Service -Name spooler -ErrorAction Stop
if ($dienst.Status -ne "Running"){
write-host "Dienst '$($dienst.Name)' befindet sich im Status '$($dienst.Status)' und wird nun neu gestartet."
try{
Start-Service $dienst
$dienst.WaitForStatus("Running",[timespan]"00:02:00")
}
catch [System.ServiceProcess.TimeoutException] {
write-host "Der Dienst konnte nicht innerhalb von 2 Minuten gestartet werden!" -ForegroundColor Red
}
Finally {
write-host "Aktueller Status: "$dienst.Status
}
}else{
write-host "Dienst $($dienst.Name) läuft ordnungsgemäß."
}
sc query spooler | find "RUNNING" || sc start spooler