Skip to content

Instantly share code, notes, and snippets.

@nullbind
Created March 17, 2017 20:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nullbind/53b5ea9e0cb3df78e8a867ba38ba6d9c to your computer and use it in GitHub Desktop.
Save nullbind/53b5ea9e0cb3df78e8a867ba38ba6d9c to your computer and use it in GitHub Desktop.
Fun with Tasks
$schedule = new-object -com("Schedule.Service")
$schedule.connect()
$tasks = $schedule.getfolder("\").gettasks(0)
$entries = New-Object System.Collections.Generic.List[System.Management.Automation.PSObject]
$tasks |
ForEach-Object {
# Get task information
$TaskEnabled = $_.enabled
$TaskState = $_.state
$TaskName = $_.name
$TaskPath = $_.path
[xml]$TaskXML = $_.xml
$TaskComputer = $env:COMPUTERNAME
$TaskAuthor = $TaskXML.task.RegistrationInfo.Author
$TaskUserContext = $TaskXML.task.Actions.context
[string]$TaskTrigger = $TaskXML.$stuff.task.Triggers
$TaskCommand = $TaskXML.Task.Actions.exec.Command
$TaskCommandArgs = $TaskXML.Task.Actions.exec.Arguments
# Create ps object
$object = New-Object psobject -Property @{
TaskEnabled = $_.enabled
TaskState = $_.state
TaskName = $_.name
TaskPath = $_.path
TaskXML = [xml]$_.xml
TaskComputer = $env:COMPUTERNAME
TaskAuthor = $TaskXML.task.RegistrationInfo.Author
TaskUserContext = $TaskXML.task.Actions.context
TaskTrigger = [string]$TaskXML.$stuff.task.Triggers
TaskCommand = $TaskXML.Task.Actions.exec.Command
TaskCommandArgs = $TaskXML.Task.Actions.exec.Arguments
}
$entries.add($object)
}
$entries
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment