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-Key: 192666

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

Printed on: April 25, 2024 at 10:04 o'clock

Member: DerWoWusste
DerWoWusste Oct 18, 2012 at 10:39:34 (UTC)
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.
Member: thl1966
thl1966 Oct 18, 2012 at 14:54:02 (UTC)
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
Member: DerWoWusste
DerWoWusste Oct 18, 2012 at 17:11:52 (UTC)
Goto Top
Member: Mr.Wonx
Mr.Wonx Oct 19, 2012 at 10:27:51 (UTC)
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