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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 192666
Url: https://administrator.de/contentid/192666
Ausgedruckt am: 20.11.2024 um 13:11 Uhr
4 Kommentare
Neuester Kommentar
Ich hab dies in wenigen Sekunden gefunden: http://social.technet.microsoft.com/Forums/en-US/winserverpowershell/th ... Suche: http://www.google.de/search?q=task+scheduler%22+oder+schtasks.exe+und+p ... erster Hit!
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
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