PowerShell Skript zur Erstellung einer Aufgabe

Registrierte und angemeldete Benutzer sehen den BMW-Treff ohne Werbung
  • Ich benötige eine Aufgabe zur Umgehung der UAC. Das Programm soll nach Doppelklick auf sein Desktopikon, ohne Sicherheitsabfrage, mit Adminrechten ausgeführt werden.

    Mein Versuch:

    schtasks /create /tn "\Ordner\Taskname" /RL HIGHEST /tr "X:\Programm.exe" /mo once


    Fehler: schtasks : Ungltige Syntax. Erforderliche Option "sc" fehlt


    Ich will keinen Zeitplan, deswegen verstehe ich nicht wie ich den Parameter sc verwenden soll. Bitte um Hilfe! Danke!

  • /sc minute 0 probiert?

    Hör immer auf dein Herz, ausser der Winzer sagt "Nimm den Gewürztraminer". Dann hör auf den Winzer :party:

  • Mit Powershell hat das doch jetzt eigentlich gar nichts zu tun??


    Ich verstehe es vielleicht falsch.

    Willst du jetzt eine Aufgabe per Skript anlegen oder willst du per Klick auf dem Desktop etwas starten und dabei die UAC umgehen.


    Dann würde ich eine Aufgabe (über die GUI) anlegen.

    Dort mit "höchsten Privilegien ausführen" anhaken.

    Und in eine Batschdatei schreiben:

    schtasks.exe /run /TN "Name der Aufgabe"

    Diese Signatur konnte nicht gespeichert werden

  • Zu Fuß angelegt funktioniert die Aufgabe.

    Dann starte doch die Aufgabe mit einer Batchdatei wie oben geschrieben.


    Powershell-Skript per Doppelklick starten funktioniert eh nicht (nur über den Umweg einer .bat oder so)


    Oder willst du per Skript immer neue Aufgaben anlegen?

    Diese Signatur konnte nicht gespeichert werden

  • Dann starte doch die Aufgabe mit einer Batchdatei wie oben geschrieben.


    Powershell-Skript per Doppelklick starten funktioniert eh nicht (nur über den Umweg einer .bat oder so)


    Oder willst du per Skript immer neue Aufgaben anlegen?

    Kein PowerShell Skript - eine exe-Datei. Ich will mit einem PowerShell Skript die Aufgabe anlegen, damit andere das automatisch - ohne mein Beisein - machen können.

  • Ehrlich gesagt habe ich immer große Schwierigkeiten zu verstehen was du willst und du gehst nicht auf das ein was ich schreibe.


    Kannst du bitte mal genau, gern ausführlich, schreiben was dein ENDziel ist und dann Step bei Step wie du das erreichen willst.


    Ich verstehe das bisher so:

    - es soll letztendlich per Klick auf dem Desktop ein Programm xy ausgeführt werden. DAS ist das eigentliche Ziel.

    - dieses Programm benötigt Adminrechte, die UAC ist eingeschaltet, öffnet sich deshalb bei jedem Start

    - um das Anspringen der UAC zu umgehen, willst du es über die Aufgabenplanung lösen


    Dafür habe ich oben eine Lösung geschrieben.

    Aber vielleicht verstehe ich das alles komplett falsch.

    Diese Signatur konnte nicht gespeichert werden

  • Die 3 Punkte in "Ich verstehe das bisher so:" treffen den Nagel auf den Kopf. Was meinst Du mit "Dann würde ich eine Aufgabe (über die GUI) anlegen."? Über Aufgabenplanung?

  • Du hast doch bereits eine Aufgabe angelegt, welche funktioniert, oder?


    Dann musst du diese Aufgabe doch jetzt lediglich nur noch per Batch starten.


    Und die Batch oder einen Link dazu auf den Desktop ablegen.


    Dann klickt der User darauf und das Programm xy öffnet ohne Abfrage der UAC.

    Diese Signatur konnte nicht gespeichert werden

  • Ja, ich habe eine Aufgabe und einen Link auf meinen Desktop angelegt. Funktioniert problemlos. Eine Batch (wahrscheinlich verstehe ich Dich falsch) brauche ich dazu nicht. Das Skript brauche ich für andere Rechner zur automatischen Erstellung genau der gleichen Aufgabe.

  • ok, dann vielleicht so:


    schtasks /create /tn "\Ordner\Taskname" /RL HIGHEST /tr "X:\Programm.exe" /sc once /st "20:40"


    Dann wird die Aufgabe genau einmal ausgeführt und anschließend nur noch manuell.

    Evtl. ist das für dich eine Lösung. Ggfls. kann man statt der Uhrzeit eine Variable nehmen "jetzt +1 min" oder so.

    Diese Signatur konnte nicht gespeichert werden

  • Danke! Ich hatte schon Skripte für automatische Aufgabenerstellung geschrieben - aber mit Start bei Benutzeranmeldung o. ä. Wahrscheinlich habe ich irgendetwas übersehen.

  • Hab mir jetzt sogar nochmal angeschaut wie es denn wirklich mit Powershell geht.

    Wie geschrieben, sind das ja bisher CMD-Befehle.

    Und mit Powershellbefehlen kann man es tatsächlich komplett ohne Trigger anlegen (letzte Laufzeit wird dann auf 30.11.1999 gesetzt):


    $user= "username"

    $action = New-ScheduledTaskAction -Execute "X:\Programm.exe"

    Register-ScheduledTask -TaskName Aufgabenname -TaskPath "\Ordner" -Action $action -User $user -RunLevel Highest

    Diese Signatur konnte nicht gespeichert werden

  • Funktioniert perfekt! Nochmal Danke!

    Das Module ScheduledTasks kannte ich bis dato nicht. Mir war lediglich schtasks.exe und ScheduledJob (funktioniert nur für PS-Skripte) geläufig.