Seite 1 von 1

Per powershell Windows Service neu starten

Verfasst: 29 Nov 2024, 12:43
von g.burck
Moin,

möchte nach der Installation und Anpassung der Konfiguration den entsprechenden Service neu starten:

Probiert habe ich es schon mit einer ExecWith Section oder jetzt mit einem PowershellCall.
Leider hat fehlem dem Prozess die notwendigen Rechte:

Code: Alles auswählen

(321)     [5] [2024-11-29 12:38:27.601] [meddv_zabbix_agent2] PowershellCall: restart-service "Zabbix Agent 2" (mode: sysnative)
(322)     [6] [2024-11-29 12:38:28.013] [meddv_zabbix_agent2] ExitCode 0
(323)     [7] [2024-11-29 12:38:28.019] [meddv_zabbix_agent2] output:
(324)     [7] [2024-11-29 12:38:28.019] [meddv_zabbix_agent2] --------------
(325)     [7] [2024-11-29 12:38:28.019] [meddv_zabbix_agent2] restart-service : Der Dienst "Zabbix Agent 2 (Zabbix Agent 2)" kann aufgrund des folgenden Fehlers nicht beendet
(326)     [7] [2024-11-29 12:38:28.019] [meddv_zabbix_agent2] werden: Der Dienst Zabbix Agent 2 auf dem Computer . kann nicht beendet werden.
(327)     [7] [2024-11-29 12:38:28.019] [meddv_zabbix_agent2] In C:\opsi.org\tmp\_opsiscript_AI6461dxGk.ps1:2 Zeichen:1
(328)     [7] [2024-11-29 12:38:28.019] [meddv_zabbix_agent2] + restart-service "Zabbix Agent 2"
(329)     [7] [2024-11-29 12:38:28.019] [meddv_zabbix_agent2] + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(330)     [7] [2024-11-29 12:38:28.019] [meddv_zabbix_agent2]     + CategoryInfo          : CloseError: (System.ServiceProcess.ServiceController:ServiceController) [Restart-Service
(331)     [7] [2024-11-29 12:38:28.019] [meddv_zabbix_agent2]    ], ServiceCommandException
(332)     [7] [2024-11-29 12:38:28.019] [meddv_zabbix_agent2]     + FullyQualifiedErrorId : CouldNotStopService,Microsoft.PowerShell.Commands.RestartServiceCommand
Wie verschaffe ich dem OPSI Prozess die Rechte, den Service neu zu starten?

Grüße

Gregor

Re: Per powershell Windows Service neu starten

Verfasst: 01 Dez 2024, 10:08
von pago
Guten Morgen Georg,
bist du sicher, dass es an den Rechten liegt?
OPSI sollte an dieser Stelle eigentlich mit Systemrechten arbeiten.
Kannst du das Verhalten nachstellen, wenn du die Installation manuell durchfürst und dann auch manuell den Dienst neustartest?
Welche Fehlermeldung erhälst du bei einem manuellen Neustart des Dienstes?
Was zeigt ggf. die Ereignisanzeige des Clients zu diesem Zeitpunkt an?

Re: Per powershell Windows Service neu starten

Verfasst: 02 Dez 2024, 10:34
von g.burck
Moin,

auf die Idee mit den Rechten bin ich gekommen, da ich bei einem manuellen Neustart des Services die powershell Konsole mit erhöhten Rechten starten musss.
Mache ich dies nicht kommt eine gleichlautende Fehlermeldung wie ich sie im Fehlerlog sehe.

Ich war ebenfalls davon ausgegangen, das OPSI mit Systemrechten arbeitet.
Ich werde aber noch einmal Prüfen, was in der Ereignisanzeige steht, wenn ich den Befehl per OPSI absetze.

Grüße

Gregor

Re: Per powershell Windows Service neu starten

Verfasst: 03 Sep 2026, 15:25
von g.burck
Moin,

ich hole das alte Ding mal wieder hoch.

Es liegt mit Sicherheit an den Rechten, auch wenn ich aus den Ereigniss Anzeige in Windows leider nichts rauslesen kann.

Ich habe jetzt auch schon verschiedenes ausprobiert um den Dienst neu zu starten.

"execWith", "powershell call" oder auch "winbatch_RestartZabbix /RunElevated" mit net stop/net start

Irgendwie will nichts laufen,...

Hat noch jemand eine Idee, einen Dienst neu zu starten? bz. klappt es bei jemanden?

Re: Per powershell Windows Service neu starten

Verfasst: 08 Sep 2026, 16:36
von KrawczykHIS
Moin Gregor,

mit opsi-script kann ich problemlos Dienste via powershellcall neustarten, hier ein Beispiel:

Code: Alles auswählen

DefVar $ErrorString$ = powershellcall('Get-Service Audiosrv | Restart-Service ')
Der Log:

Code: Alles auswählen

[5] [2026-09-08 16:35:12.424] [] PowershellCall: Get-Service Audiosrv | Restart-Service  (mode: sysnative)
[8] [2026-09-08 16:35:12.432] [] Save to file with encoding: system
[8] [2026-09-08 16:35:12.440] [] Will save (system) encoding to file: C:\opsi.org\tmp\_opsiscript_90nL8g5NEi.ps1 :
[8] [2026-09-08 16:35:12.447] [] Content of saved file: c:\opsi.org\tmp\_opsiscript_90nL8g5NEi.ps1
[8] [2026-09-08 16:35:12.455] [] -----------------------
[8] [2026-09-08 16:35:12.460] [] trap { write-output $_ ; exit 1 }
[8] [2026-09-08 16:35:12.466] [] Get-Service Audiosrv | Restart-Service
[8] [2026-09-08 16:35:12.472] [] -----------------------
[8] [2026-09-08 16:35:12.480] [] Execute program: powershell.exe parameters:  script arguments:
[8] [2026-09-08 16:35:12.487] [] Executing with RCACO:  "powershell.exe"   -Command "function Disable-ExecutionPolicy {($ctx = $executioncontext.gettype().getfield('_context','nonpublic,instance').getvalue( $executioncontext)).gettype().getfield('_authorizationManager','nonpublic,instance').setvalue($ctx, (new-object System.Management.Automation.AuthorizationManager 'Microsoft.PowerShell'))}; Disable-ExecutionPolicy; (c:\opsi.org\tmp\_opsiscript_90nL8g5NEi.ps1  | Out-String).TrimEnd(); exit $LASTEXITCODE;
[6] [2026-09-08 16:35:15.536] [] ExitCode 0
[8] [2026-09-08 16:35:15.542] [] Shell command produce no or empty output
[8] [2026-09-08 16:35:15.548] [] The file: c:\opsi.org\tmp\_opsiscript_90nL8g5NEi.ps1 has been deleted
[8] [2026-09-08 16:35:15.553] [] Search "c:\opsi.org\tmp\_opsiscript_*"
[7] [2026-09-08 16:35:15.559] [] output:
[7] [2026-09-08 16:35:15.566] [] --------------
[7] [2026-09-08 16:35:15.572] [] 
[6] [2026-09-08 16:35:15.579] [] The value of the variable "$ErrorString$" is now: "0"
Hat eventuell dein Dienst "Zabbix Agent" abhängigkeiten und lässt es nicht neustarten? Bzw. probiere mal ein anderen Dienst-Service.

Gruß,
Patrick