Jump to content

Wie kann ich einen Taskplanerjob per remote starten?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Die Anforderung: Wenn ein SQL-Dienst auf dem Server hängt, soll dieser per Batchbefehl neu gestartet werden können und eine Mail soll an den Admin gesendet werden. Da der ausführende Benutzer nicht zu den Admins hinzugefügt werden soll dachte ich, dass ich auf dem SQL-Server einen Job anlege, der unter dem Konto des Admins gestartet wird und darauf verlinke. Der Job heißt "SQL-Restart", er verweist auf diese Batch:

net stop MSSQLSERVER

rem *E-Mail Versenden mittels "Blat"*

cd /d "C:\Blat v2.7.5"

Blat -install sql-server1.domain.local sysadmin@domain.local
Blat "C:\Blat v2.7.5\mail-body.txt" ^
-to sysadmin@domain.local -server imap.domain.local -u sysadmin@domain.local -pw p@ssw0rd ^
-debug -timestamp -log blatSMTPlog.txt ^
-subject "SQL-Neustart"

net start MSSQLSERVER

pause

 

Da ich von einem anderen Computer diesen Job starten will legte ich auf dem SQL-Server eine weitere Batch (sched-sql.cmd) in einer Freigabe an, die diesen Befehl enthält

C:\Windows\System32\schtasks.exe /RUN /TN "SQL-Restart"

und zu der ich eine Verknüpfung auf dem Rechner erstelle, der diese Batch starten soll.

Solange ich die Batch auf dem SQL-Server starte, wird der SQL-Dienst beendet, neugestartet und eine Benachrichtigung wird versendet. Aktiviere ich aber den Link zur Batch auf einem Remote-PC, bekomme ich die Fehlermeldung, dass der Task "sql-stop-mail" auf dem lokalen PC nicht vorhanden sei. Als Ziel für den Task wird also nicht der sql-server1 gesucht, sondern der lokale PC.

Ist mein Vorhaben überhaupt realisierbar oder geht es so, wie ich es mir vorstelle, gar nicht? Falls nicht, wie bzw. womit kann ich mein Ziel erreichen?

Danke vorab für jede Hilfe.

Geschrieben

Mir sagt schtasks /? folgendes:

C:\windows\system32>schtasks /?

 

SCHTASKS /Parameter [Argumente]

 

Beschreibung:

Ermöglicht einem Administrator, geplante Aufgaben auf einem lokalen

oder Remotecomputer zu erstellen, abzufragen, zu löschen, zu ändern,

auszuführen und zu beenden.

 

Parameterliste:

/Create Erstellt eine neue geplante Aufgabe.

 

/Delete Löscht geplante Aufgaben.

 

/Query Zeigt alle geplanten Aufgaben an.

 

/Change Ändert die Eigenschaften der geplanten Aufgabe.

 

/Run Führt die geplante Aufgabe auf Anforderung aus.

 

/End Beendet die aktive geplante Aufgabe.

 

/ShowSid Zeigt die Sicherheits-ID an, die einem geplanten

Aufgabennamen entspricht.

 

/? Zeigt diese Hilfe an.

 

Examples:

SCHTASKS

SCHTASKS /?

SCHTASKS /Run /?

SCHTASKS /End /?

SCHTASKS /Create /?

SCHTASKS /Delete /?

SCHTASKS /Query /?

SCHTASKS /Change /?

SCHTASKS /ShowSid /?

 

C:\windows\system32>

Geschrieben

Ich habe nun folgende Syntax eingegeben:

 

runas /profile /env /user:meinedomain.local\administrator "schtasks /Run /S sql-server01 /U administrator /P p@ssw0rd /TN SQL-Restart"

 

Dann bekomme ich die Aufforderung, mich zu authentifizieren. Nachdem ich das Admin-Password eingegeben habe, gibt cmd aus:

"Es wird versucht, schtasks /Run /S sql-server01 /U administrator /P p@ssw0rd /TN SQL-Restart als Benutzer "meinedomain.local\administrator" zu starten..."

 

Danach poppt ganz kurz ein CMD-Fenster auf "FEHLER: Zugriff verweigert". Kann mein Vorhaben so, wie ich es mir vorstelle, funktionieren? Wenn dies grundsätzlich möglich sein sollte, wo könnte der Fehler liegen? Im Job selber ist eingestellt, dass er unabhängig von der Benutzeranmeldung ausgeführt werden kann. Er wird als Administrator ausgeführt, die Anmeldedaten sind im Job hinterlegt. Der Job kann nur von der Gruppe Administratoren ausgeführt werden.

 

Wenn ich einen Link zur Batch anlege, also den Taskplaner umgehe, bekomme ich den Fehler, dass das Objekt nicht gefunden wurde. Der Link schaut so aus:

runas /profile /env /user:meinedomain.local\administrator \\sql-server01\sql-server01-SQL-Restart\SQL-Restart.cmd

Die SQL-Restart.cmd wird also wieder lokal gesucht und nicht gefunden. Was läuft bei beiden Methoden falsch? ich bin echt ziemlich ratlos mittlerweile.

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...