lexura
Goto Top

Erstellung eines Powershell-Scriptes zum Auslesen der Aufgabenplanung (TaskScheduler)

Hallo Leute,
ich benötige wieder etwas Unterstützung in Sachen Powershell. Mein fachwissen langt da leider noch nicht ganz aus.

Meine Aufgabe ist es, es Script zu erstellen, welches mir alle erstellten Tasks inkl. Angaben zum Name des Task, Status, Last Run Time, Last Run Result ausgibt.

Ich habe im Netz diese Hilfeseite gefunden, komme aber leider nicht ganz klar damit: http://powershell.org/wp/2013/03/05/get-scheduled-job-results/

Meine Versuche sind bislang alle gescheitert. Ich hatte da an so was gedacht:

PS Scripts:\> get-scheduledjob | foreach { get-job -name $_.name -Newest 1} | Select Name,Status,*Time,Last Run Result

Name : Daily Work Backup
State : disabled
PSBeginTime : 3/4/2013 11:55:05 PM
PSEndTime : 3/4/2013 11:56:37 PM
Last Run Result : (0x1)

Name : Download PowerShell v3 Help
State : ready
PSBeginTime : 3/5/2013 6:00:02 AM
PSEndTime : 3/5/2013 6:01:27 AM
Last Run Result : (0x0)

Es befinden sich ca. 30 Tasks im TaskScheduler, die täglich zu unterschiedlichen Zeiten Aufgaben erfüllen. Ich möchte mir aus dem Ergebnis dann eine HTML Seite machen.

hat evtl. jemand schon ein ähnliches Script laufen und könnte mir dieses zur Hilfestellung zur Verfügung stellen oder mir hier als Antwort ein Beispielscript hinterlegen ???

Besten Dank im Voraus an all die Powershell Cracks !!!

Gruß Stoffers

Content-Key: 261558

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

Printed on: April 23, 2024 at 16:04 o'clock

Member: Doskias
Doskias Jan 29, 2015 at 15:08:54 (UTC)
Goto Top
Gib uns doch noch einige Infos zur Umgebung.

Beispiel:

Get-ScheduledTask
Applies To: Windows 8.1, Windows PowerShell 4.0, Windows Server 2012 R2

https://technet.microsoft.com/de-de/library/jj649808.aspx

Wenn wir deine Umgebung nciht kennen, können wir nur bedingt helfen.
Member: colinardo
Solution colinardo Jan 29, 2015 updated at 15:27:16 (UTC)
Goto Top
Hallo Stoffers,
man nehme folgende Funktion https://gallery.technet.microsoft.com/scriptcenter/Get-SchedTasks-Determ ...
Diese Funktion verwendest du dann folgendermaßen für eine HTML-Ausgabe:
Get-SchedTasks | select TaskName,Status,LastRunTime,NextRunTime,Result | ConvertTo-HTML | out-file 'C:\test.html'  
Ab Windows 8 sind extra CMDLets hinzugekommen (s. Link von Doskias), dann brauchst du das Script nicht mehr.

Grüße Uwe
Member: lexura
lexura Jan 29, 2015 at 15:23:17 (UTC)
Goto Top
Hallo Leute,

habe wohl etwas zu früh nachgefragt. Bin der Lösung meiner Aufgabe ein ganzes Stück näher gekommen.

Im Netz hab ich folgendes gefunden, damit komm ich zunächst Mal weiter:

$sched = New-Object -Com "Schedule.Service"
$sched.Connect()
$out = @()
$sched.GetFolder("\").GetTasks(0) | % {
$xml = [xml]$_.xml
$out += New-Object psobject -Property @{
'Name' = $_.name
'Pfad' = $_.path
'Status' = $_.state
'Enabled' = $_.enabled
'LastRunTime' = $_.lastruntime
'LastTaskResult' = $_.lasttaskresult
'NumberOfMissedRuns' = $_.numberofmissedruns
'NextRunTime' = $_.nextruntime
'Author' = ([xml]$_.xml).Task.RegistrationInfo.Author
'UserId' = ([xml]$_.xml).Task.Principals.Principal.UserID
'Description' = ([xml]$_.xml).Task.RegistrationInfo.Description
}
}

$out | fl Name,Pfad,Status,Enabled,NextRuNTime,LastRunTime,LastRunResult,NumberOfMissedRuns,userID


Sollten sich noch weitere Fragen einstellen, melde ich mich erneut. DANKE !!!