moinmoin123
Goto Top

Skript läuft nicht über Aufgabenplanung

article-picture
Hallo Admins

Ich versuche gerade auf einem Windows 10 Pro Rechner ein VB Skript automatisch über die Aufgabenplanung laufen zu lassen.
Das Skript ist sehr simpel und soll nur dazu dienen abends die Anwendungsfenster zu minimieren.

Set objShell = CreateObject("Shell.Application")  
Call objShell.MinimizeAll

Das Skript kann der Anwender ohne Probleme laufen lassen.
Wenn der Anwender eine Aufgabe mit dem Skript erstellt, wird das Ausführen mit dem Fehler 2147942405 bzw. 0x80070005 beendet. Es scheinen Berechtigungen zu fehlen.

Wenn ich die Aufgabe mit einem Admin oder unter System laufen lasse, läuft die Aufgabe ohne Fehler, allerdings werden die Fenster des angemeldeten Benutzers nicht minimiert.

Im Netz hatte ich noch einen Tipp gefunden, dass das Recht Stapelverarbeitungsauftrag vorhanden sein muss für die Aufgabenplanung. Das hat aber nicht gereicht.
Hat jemand eine Ahnung welches Recht dem Anwender fehlen könnte?

Mit freundlichem Gruß

MoinMoin123

Content-Key: 34046656457

Url: https://administrator.de/contentid/34046656457

Printed on: May 3, 2024 at 14:05 o'clock

Member: ITOverlord
ITOverlord Dec 15, 2023 at 10:35:35 (UTC)
Goto Top
Der Fehlercode deutet wie du bereits erwähnt hast, auf einen Berechtigungsproblem hin.

- Ist die CheckBox "Mit höchsten Berechtigungen ausführen" in der Aufgabenplanung aktiv?
- Besitzt sein User genügend Berechtigungen für die Skript Datei? (Lesen & ausführen)
- Würde auch prüfen ob eine Gruppenrichtlinie auf dem Computer existiert, die die Ausführung von Skripten über die Aufgabenplanung einschränkt.
Member: MoinMoin123
MoinMoin123 Dec 15, 2023 at 10:57:03 (UTC)
Goto Top
Hallo ITOverlord

Die CheckBox "Mit höchste Berechtigungen ausführen" hat keinen Einfluss auf das Ergebnis.
Die Berechtigungen für die Skript Datei sind vorhanden. Die Datei kann von dem Benutzer erfolgreich ausgeführt werden.
Bei den Gruppenrichtlinien kann ich nicht sagen, ob da etwas eingerichtet ist. Wo müsste ich danach suchen?

Gruß MoinMoin 123
Member: ITOverlord
ITOverlord Dec 15, 2023 at 12:55:42 (UTC)
Goto Top
Hey MoinMoin123

ich habe es soeben auf einer Maschine von mir getestet, klappt wunderbar.

Wäre interessant zu wissen wo die vbs Datei liegt? Sonst einmal testen ob es klappt, wenn die Datei lokal irgendwo liegt, z.B. Dokumente / Desktop?

LG
Member: MoinMoin123
MoinMoin123 Dec 15, 2023 at 13:15:03 (UTC)
Goto Top
Hallo IT Overlord

Ich habe bisher "C:"; "Desktop des Benutzers" und "Öffentliche Dokumente" ausprobiert. Hat leider alles keinen Einfluss. Wie gesagt, bei mir auf dem Rechner und einem weiteren Rechner funktioniert das alles. Allerdings bin ich hier anders angemeldet. Der betreffende Rechner ist Windows 10 Pro nach Upgrade von Windows 8. Vielleicht hat es auch damit zu tun.

Gruß

MoinMoin123
Member: mayho33
mayho33 Dec 17, 2023 updated at 15:49:02 (UTC)
Goto Top
Hi,

interessant wäre wie du dein Script in der Aufgabenplanung aufrufst.

Bauchbar wäre z.B. sowas:
bubugaga

Funktioniert bei mir einwandfrei. Egal welcher user das ausführt

Was hat es denn mit dem /C und CScript auf sich?
Das ist dazu da um
  • der cmd zu sagen, dass sich sich nach Ausführung selbst wieder schließt
  • fürt das VBS in "Command"-Modus anstatt in Standard WScript, aka, "Window"-Modus

Siehe dazu auch:
cscript /?
:: oder 
WScript /?
:: und auch
cmd.exe /?
Member: MoinMoin123
MoinMoin123 Dec 18, 2023 at 08:48:53 (UTC)
Goto Top
Hallo mayho33

Auf meinem Rechner ist das auch so. Auf dem Rechner wo es eingerichtet werden soll bekomme ich für den Benuzter leider auch hier Zugriff verweigert bzw. Fehler 2147942405.

Gruß MoinMoin123
Mitglied: 10138557388
10138557388 Dec 18, 2023 updated at 09:09:58 (UTC)
Goto Top
  • Scripthost per GPO deaktiviert?
  • Software Restriction Policies oder Applocker aktiv?

Btw. VBScript ist inzwischen als "Deprecated" markiert, ich würde also vorausschauend das Skript migrieren. Z.B. auf PowerShell. Aber als erstes wie oben geschrieben checken ob die Sccriptengines überhaupt erlaubt sind.
Member: MoinMoin123
MoinMoin123 Dec 18, 2023 at 10:18:43 (UTC)
Goto Top
Hallo PJumper

Danke für die Suchoptionen. Das mit den Sotware Restriction Policies schaue ich mir an.

Das Script an sich funktioniert ja wenn man es durch den Benutzer ausführt. Das ist sowohl als VBS als auch wenn ich Powershell für das minimieren verwende. Nur bei Ausführung über die Aufgabensteuerung bekomme ich den Fehler.

Gruß MoinMoin123
Member: MoinMoin123
MoinMoin123 Dec 19, 2023 at 09:14:54 (UTC)
Goto Top
Hallo

Ich habe noch etwas weiter getestet. Wenn ich in der Aufgabenplanung "Nur ausführen, wenn Benutzer angemeldet ist" bekomme ich den Fehler 2147942405. Wenn ich die Aufgabe unabhängig von der Anmeldung ausführe läuft sie bei den richtigen Einstellungen für Powershell durch minimiert aber nicht die Anwendungsfenster des angemeldeten Benutzers. Vermutlich ist das Objekt dann nicht richtig.
Hat jemand eine Idee was man am Code ändern müsste, um die Applicationen der aktiven Sitzung zu bekommen?

$x = New-Object -ComObject Shell.Application; $x.minimizeall()
Member: mayho33
mayho33 Dec 20, 2023 at 18:57:38 (UTC)
Goto Top
Zitat von @MoinMoin123:

Hallo

Ich habe noch etwas weiter getestet. Wenn ich in der Aufgabenplanung "Nur ausführen, wenn Benutzer angemeldet ist" bekomme ich den Fehler 2147942405. Wenn ich die Aufgabe unabhängig von der Anmeldung ausführe läuft sie bei den richtigen Einstellungen für Powershell durch minimiert aber nicht die Anwendungsfenster des angemeldeten Benutzers. Vermutlich ist das Objekt dann nicht richtig.
Hat jemand eine Idee was man am Code ändern müsste, um die Applicationen der aktiven Sitzung zu bekommen?

$x = New-Object -ComObject Shell.Application; $x.minimizeall()

Am Code ist alles in Ordnung! Ich habe wohl auch nicht sauber getestet. Geht zwar mit einem anderen User bei mir aber halt nur in dessen Kontext. Führe ich den Task im Kontext eines anderen Users aus, funktioniert der Task zwar sauber (ErrorCode 0x0), aber ohne Effekt. Wie du schon geschrieben hast.

Will ich den Task von einer Gruppe aus ausführen lassen und mein User hat keine administrativen Rechte bekomme ich diese Fehlermedung:
tasksched_1
tasksched_2

Liegt wohl daran, dass die Gruppe Benutzer nicht aufgelöst wird. Leider etwas ungeil...