marcoschwarz
Goto Top

Powershell Script erstellen einer Aufgabe in der Aufgabenplanung mit erhöten Rechten(Windows7,10)

Guten Tag ,

ich möchte momentan ein Powershell Script erstellen, welches wie oben schon beschrieben eine Aufgabe in der Aufgabenplanung erstellt.
Dort sollen die Punkte mit höchsten Privilegien ausführen und unabhängig von der Benutzeranmeldung gesetzt werden.
$trig = New-ScheduledTaskTrigger -Daily -At 21:00
$action = New-ScheduledTaskAction -Execute "chrome.exe"  -WorkingDirectory "C:\Program Files (x86)\Google\Chrome\Application\"  
$TaskBenutzer = New-ScheduledTaskPrincipal -UserId "SYSTEM" -RunLevel Highest  

Register-ScheduledTask -TaskName test -TaskPath "\TEST" `  
-Action $action -Trigger $trig #-Principal $TaskBenutzer
wäre super, wenn mir jemand helfen könnte

MfG Marco Schwarz

Content-ID: 497760

Url: https://administrator.de/forum/powershell-script-erstellen-einer-aufgabe-in-der-aufgabenplanung-mit-erhoeten-rechtenwindows7-10-497760.html

Ausgedruckt am: 17.04.2025 um 03:04 Uhr

emeriks
emeriks 24.09.2019 aktualisiert um 10:51:36 Uhr
Goto Top
Hi,
schau mal New-ScheduledJobOption

Da gibt es z.B. RunElevated usw.

E.
erikro
erikro 24.09.2019 um 10:58:43 Uhr
Goto Top
Moin,

Zitat von @MarcoSchwarz:
ich möchte momentan ein Powershell Script erstellen, welches wie oben schon beschrieben eine Aufgabe in der Aufgabenplanung erstellt.

Ist keine Domain vorhanden? Wenn doch, dann mache das doch mit einer GPO. Computer- oder Benutzerkonfiguration -> Einstellungen -> Systemsteruerungseinstellungen -> Geplante Aufgaben.

hth

Erik
SomebodyToLove
SomebodyToLove 24.09.2019 um 11:08:03 Uhr
Goto Top
Hi Marco,

ich kann dir den Part aus einen meiner Scripts kopieren:

#Creates Scheduled Task Actions
    $TaskAction1 = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument "-ExecutionPolicy Bypass -File C:\Scripts\Test.ps1" -WorkingDirectory "C:\Scripts"  

    #Creates Triggers
    $TaskTrigger  = New-ScheduledTaskTrigger -AtStartup
            
    #Creates Scheduled Task Settings
    $TaskSettings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries

       
    #Register Scheduled Task
    Register-ScheduledTask "Mein Task" -Action $TaskAction1 -Trigger $TaskTrigger -RunLevel Highest -Settings $TaskSettings -User "domain\user" -Password "MyPasswort" -Force   

Bei mir funktioniert es so.
Ich hoffe ich konnte dir weiterhelfen face-smile

Br,
Somebody
DerWoWusste
DerWoWusste 24.09.2019 um 11:08:31 Uhr
Goto Top
Schtasks /create /XML task.xml
wäre das Einfachste, auch in Powershell.
MarcoSchwarz
MarcoSchwarz 24.09.2019 um 11:47:40 Uhr
Goto Top
Leider ist keine Domäne vorhanden
MarcoSchwarz
MarcoSchwarz 24.09.2019 um 12:03:38 Uhr
Goto Top
Ich habe leider bei dem von dir erstellten Script eine Fehlermeldung.
javascript:void(0);
2019-09-24_12-01-50
emeriks
emeriks 24.09.2019 um 12:08:41 Uhr
Goto Top
"domain\user" hast Du sicherlich entsprechend ersetzt?
MarcoSchwarz
MarcoSchwarz 24.09.2019 um 12:09:39 Uhr
Goto Top
javascript:void(0);
so sieht es jetzt aus
2019-09-24_12-08-55
140913
140913 24.09.2019 aktualisiert um 12:24:32 Uhr
Goto Top
Naja denk doch einfach mal nach, du willst einen Task erstellen der mit erhöhten Rechten laufen soll und führst das PS Skript das den Task erstellt selbst nicht elevated aus, dat kann nich klappen min jung, also die PS die den Task erstellt elevated laufen lassen dann klappt dat auch.

Sonst könnte sich ja jeder Hinz selbst zum Admin machen...
MarcoSchwarz
MarcoSchwarz 24.09.2019 um 12:47:44 Uhr
Goto Top
Ja das stimmt hab mich da etwas dumm angestellt danke noch mal für die Hilfe.
140913
140913 24.09.2019 um 13:46:02 Uhr
Goto Top
Na dann bitte noch den Haken dran.
VivilR
VivilR 23.02.2020 um 15:19:33 Uhr
Goto Top
So klappts auch...
hab ein Teil der Infos hier gefunden...


Set-Alias wh Write-Host # mann ist ja Faul so kann man abkürzen.... wh "Hello World!"  
$debug = $true
$NewTaskName = 'No WindowsUpdate V1.1'  
$username = "$env:USERDOMAIN\$env:USERNAME" #current user  
#$cred = Get-Credential $username
#$Password = $cred.GetNetworkCredential().Password
  
       try 
       {
            $trig    = New-ScheduledTaskTrigger -Once -At (date) -RepetitionDuration  (New-TimeSpan -Days 1)  -RepetitionInterval  (New-TimeSpan -Minutes 1)
            $action  = New-ScheduledTaskAction -WorkingDirectory $env:TEMP -Execute $env:SystemRoot\WindowsPowerShell\v1.0\powershell.exe -Argument "-Command '$InstallPath\Windows_Updates_Deaktivieren.ps1'"  
            $conf    = New-ScheduledTaskSettingsSet -RunOnlyIfIdle -WakeToRun 
            $STPrincipal = New-ScheduledTaskPrincipal -RunLevel Highest -User $username #-Password $Password 
            $MyTask =  New-ScheduledTask -Action $action -Settings $conf -Trigger $trig -Principal $STPrincipal 
            Register-ScheduledTask $NewTaskName -TaskPath "\MeineTasks" -InputObject $MyTask -Force  
       }

       catch
       {
            if ($debug) 
            {
                       $errText = "Windowsaufgabe '$NewTaskName' --> Anlegen der Aufgabe Fehlgeschlagen `r`n Fehler: $Error `r`n"                   
                       wh $errText
             }
       }

       finally
       {
         if ($debug) {Get-ScheduledTask | ? TaskName -eq $NewTaskName }#nochmal anzeigen   
       }