thl1966
Goto Top

Powershell - Verlauf von Aufgabenplanung auslesen - Wie geht das

Hallo an allen Forenmitglieder,

möchte gerne über die Powershell 2.0 oder 3.0 Informationen über den Aufgabenplaner abrufen, so wie man es mit der Ereignisanzeige tun kann.

Ist das möglich?

wenn ja, welche Powershell-Befehle kann ich dafür verwenden?

Evtl. hat jemand schon ein Beispiel-Skript.


Ich möchte in der Aufgabenplanung den Verlauf auslesen.


vielen Dank im Voraus.

Thomas

Content-ID: 192666

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

Ausgedruckt am: 20.11.2024 um 13:11 Uhr

DerWoWusste
DerWoWusste 18.10.2012 um 12:39:34 Uhr
Goto Top
Moin.

Schon was gefunden? Wenn nicht, würde ich losgoogeln mit Kombinationen der englischen Begriffe
"task scheduler" oder schtasks.exe und powershell und wmi und history.
thl1966
thl1966 18.10.2012 um 16:54:02 Uhr
Goto Top
Leider habe ich dafür keine Lösung (auch nicht mit englischen Suchbegriffen) gefunden.

Wer aber eine Lösung (nur in PS) hat, nur her damit.
Gruß

Thomas
DerWoWusste
DerWoWusste 18.10.2012 um 19:11:52 Uhr
Goto Top
Mr.Wonx
Mr.Wonx 19.10.2012 um 12:27:51 Uhr
Goto Top
Moin,

Hier haste mal ne Powershell lösung.Mit PSSession und Invoke-Command kannste das auch remote auf Servern ausführen.


[String]$ComputerName="$env:COMPUTERNAME"
$SchedService.Connect($ComputerName)
$TaskFolder = $SchedService.GetFolder("")
$RootTasks = $TaskFolder.GetTasks("")
Foreach ($Task in $RootTasks)
{
Switch ($Task.State)
{
0 {$Status = "Unknown"}
1 {$Status = "Disabled"}
3 {$Status = "Ready"}
4 {$Status = "Running"}
}#End Switch ($Task.State)
$Xml = $Task.Xml
#The code below parses the Xml String Data for the "RunAs User" that is returned from the Schedule.Service COM Object
[String]$RunUser = $Xml[(($Xml.LastIndexOf("<UserId>"))+8)..(($Xml.LastIndexOf("</UserId>"))-1)]
$RunUser = $RunUser.Replace(" ","").ToUpper()
$Result = New-Object PSObject -Property @{
ServerName=$ComputerName
TaskName=$Task.Name
RunAs=$RunUser
LastRunTime=$Task.LastRunTime
NextRunTime=$Task.NextRunTime
}#End $Result = New-Object
$Result = $Result | Select-Object Servername, TaskName, RunAs, LastRunTime, NextRunTime

$Result