Batch als Dienst bei Systemstart ohne Anmeldung ausführen
Vorteile:
- Anmeldung von Benutzer nicht notwendig
- Kann bei Systemstart direkt ausgeführt werden
- Keine Aufgabenplanung notwendig
- Keine Nutzung von Drittanbieter-Tools/zusätzliche Software-Installation/Lizenzkosten
Nachteile:
- Dienst kontolliert nicht, ob Batch noch läuft, hängt oder ähnliches;
- Veraltete Technik...
Alternativen:
- Siehe Kommentare
Getestet auf OS:
- W7 x86
- W7 x64
- Server 2K08R2
Folgender Befehl erstellt den Dienst: Angabe vom Dienst-Prozess "srvany.exe" (in diesem Fall im Windows-Verzeichnis, kann aber auch woander sein), automatischer Start bei Systemstart, Fehler ignorieren, Anzeigename für GUI
=> Wichtig: Leerzeichen hinter "=" nicht vergessen
Ggfs. noch eine Beschreibung hinzufügen:
Angabe der auszuführenden Datei/Kommandozeilen-Programm:
Angabe der eigentlichen auszuführenden Batch als Option:
Angabe von Standard-Arbeitsverzeichnis:
Hinweise:
Die Batch wird deshalb als Option bzw. "AppParameters" angegben um z.B. andere ausführbare Dateien über Das Skript ausführen zu können. Ohne das kann es zu Problemen kommen.
Falls der Dienst während der Ausführung der Batch gelöscht werden soll (z.B. damit nach dem Neustart der Dienst nicht mehr startet, da nicht mehr benötigt), sollte man in der Batch folgendes angeben:
=> Damit wird der Dienst bist zum nächsten System-Neustart oder bis zur Beendigung des Dienstes ncoh weiter ausgeführt.
=> Die Verwendung von "SC DELETE Example_Batch 2>&1" hat zur Folge, dass keine anderen Kommando's in der Batch mehr abgearbeitet werden, da auch der Dienst vor dem Löschen explizit gestoppt wird
Weitere Info't zu "srvany.exe" (Micrososft Support-Eintrag):
support.microsoft.com/de-de/help/137890/how-to-create-a-user-defined-service
Parameter-Optionen hier gefunden:
stackoverflow.com/questions/165951/how-can-i-run-a-cli-application-as-a-windows-service
- Anmeldung von Benutzer nicht notwendig
- Kann bei Systemstart direkt ausgeführt werden
- Keine Aufgabenplanung notwendig
- Keine Nutzung von Drittanbieter-Tools/zusätzliche Software-Installation/Lizenzkosten
Nachteile:
- Dienst kontolliert nicht, ob Batch noch läuft, hängt oder ähnliches;
- Veraltete Technik...
Alternativen:
- Siehe Kommentare
Getestet auf OS:
- W7 x86
- W7 x64
- Server 2K08R2
Folgender Befehl erstellt den Dienst: Angabe vom Dienst-Prozess "srvany.exe" (in diesem Fall im Windows-Verzeichnis, kann aber auch woander sein), automatischer Start bei Systemstart, Fehler ignorieren, Anzeigename für GUI
SC CREATE Example_Batch binPath= "%windir%\Tools\srvany.exe" start= auto error= ignore DisplayName= "Example Batch Service"
Ggfs. noch eine Beschreibung hinzufügen:
SC DESCRIPTION Example_Batch "That's an example batch Service"
Angabe der auszuführenden Datei/Kommandozeilen-Programm:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Example_Batch\Parameters" /V Application /D "C:\Windows\System32\cmd.exe" /F 2>&1
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Example_Batch\Parameters" /V AppParameters /D "/C C:\Windows\Tools\batch.cmd >>C:\Windows\Tools\batch.log" /F 2>&1
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Example_Batch\Parameters" /V AppDirectory /D "C:\Windows\tools" /F 2>&1
Hinweise:
Die Batch wird deshalb als Option bzw. "AppParameters" angegben um z.B. andere ausführbare Dateien über Das Skript ausführen zu können. Ohne das kann es zu Problemen kommen.
Falls der Dienst während der Ausführung der Batch gelöscht werden soll (z.B. damit nach dem Neustart der Dienst nicht mehr startet, da nicht mehr benötigt), sollte man in der Batch folgendes angeben:
REG DELETE "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Example_Batch" /F 2>&1
=> Die Verwendung von "SC DELETE Example_Batch 2>&1" hat zur Folge, dass keine anderen Kommando's in der Batch mehr abgearbeitet werden, da auch der Dienst vor dem Löschen explizit gestoppt wird
Weitere Info't zu "srvany.exe" (Micrososft Support-Eintrag):
support.microsoft.com/de-de/help/137890/how-to-create-a-user-defined-service
Parameter-Optionen hier gefunden:
stackoverflow.com/questions/165951/how-can-i-run-a-cli-application-as-a-windows-service
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 333355
Url: https://administrator.de/knowledge/batch-als-dienst-bei-systemstart-ohne-anmeldung-ausfuehren-333355.html
Ausgedruckt am: 25.12.2024 um 15:12 Uhr
6 Kommentare
Neuester Kommentar
Moin,
Ja, nämlich der Hinweis, dass das Ganze total veraltet ist und auf einem aktuellen System meiner Meinung nach nichts mehr zu suchen hat.
Gruß
Ja, nämlich der Hinweis, dass das Ganze total veraltet ist und auf einem aktuellen System meiner Meinung nach nichts mehr zu suchen hat.
Gruß
Hallo,
ist leider so:
https://support.microsoft.com/de-de/help/137890/how-to-create-a-user-def ...
Artikelnummer: 137890 – Letzte Überarbeitung: 30.06.2016 – Revision: 1
Die Informationen in diesem Artikel beziehen sich auf:
Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Professional Edition, Microsoft Windows NT Workstation 3.51, Microsoft Windows NT Workstation 4.0 Developer Edition, Microsoft Windows NT Server 3.51, Microsoft Windows NT Server 4.0 Standard Edition
Grüße peter
ist leider so:
https://support.microsoft.com/de-de/help/137890/how-to-create-a-user-def ...
Artikelnummer: 137890 – Letzte Überarbeitung: 30.06.2016 – Revision: 1
Die Informationen in diesem Artikel beziehen sich auf:
Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Professional Edition, Microsoft Windows NT Workstation 3.51, Microsoft Windows NT Workstation 4.0 Developer Edition, Microsoft Windows NT Server 3.51, Microsoft Windows NT Server 4.0 Standard Edition
Grüße peter
Hallo,
mache das auf diese Weise für W7 und W10:
Scheduling a Task > Triggers : At startup
https://technet.microsoft.com/en-us/library/cc748993(v=ws.11).aspx
https://technet.microsoft.com/en-us/library/cc748841(v=ws.11).aspx
Grüße Peter
mache das auf diese Weise für W7 und W10:
Scheduling a Task > Triggers : At startup
https://technet.microsoft.com/en-us/library/cc748993(v=ws.11).aspx
https://technet.microsoft.com/en-us/library/cc748841(v=ws.11).aspx
Grüße Peter
Hallo tralveller.
Als geplanter Task, etwa so erstellen:
Was wie wo anzupassen ist, sollte selbsterklärend sein.
Grüße
rubberman
Als geplanter Task, etwa so erstellen:
- Notepad Editor öffnen
- folgender Inhalt:
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Author>rubberman</Author>
<Description>That's an example batch task.</Description>
<URI>\Example_Batch</URI>
</RegistrationInfo>
<Triggers>
<BootTrigger>
<Enabled>true</Enabled>
</BootTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>S-1-5-18</UserId>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>false</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>true</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
<Priority>5</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>C:\Windows\System32\cmd.exe</Command>
<Arguments>/c "C:\Windows\Tools\batch.cmd"</Arguments>
<WorkingDirectory>C:\Windows\Tools</WorkingDirectory>
</Exec>
</Actions>
</Task>
- Datei->Speichern unter ...
- Dateiname: Example_Batch.xml
- Dateityp: Alle Dateien (*.*)
- Codierung: Unicode (wichtig!!)
- Speichern
- Batchdatei im gleichen Verzeichnis:
@echo off
cd /d "%~dp0"
schtasks /create /xml "Example_Batch.xml" /tn "Example_Batch" /f
pause
- Rechtsklick->Als Administrator ausführen
- SCHTASKS gibt eine Meldung über Erfolg oder Misserfolg des Erstellens der Aufgabe
Was wie wo anzupassen ist, sollte selbsterklärend sein.
Grüße
rubberman