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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 192666
Url: https://administrator.de/contentid/192666
Printed on: April 25, 2024 at 10:04 o'clock
4 Comments
Latest comment
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