Get-ScheduledTask.ps1
function Get-ScheduledTask { <# .Synopsis Gets tasks scheduled on the computer .Description Gets scheduled tasks that are registered on a computer .Example Get-ScheduleTask -Recurse #> param( # The name or name pattern of the scheduled task [Parameter()] $Name = "*", # The folder the scheduled task is in [Parameter()] [String[]] $Folder = "", # If this is set, hidden tasks will also be shown. # By default, only tasks that are not marked by Task Scheduler as hidden are shown. [Switch] $Hidden, # The name of the computer to connect to. $ComputerName, # The credential used to connect [Management.Automation.PSCredential] $Credential, # If set, will get tasks recursively beneath the specified folder [switch] $Recurse ) process { $scheduler = Connect-ToTaskScheduler -ComputerName $ComputerName -Credential $Credential $taskFolder = $scheduler.GetFolder($folder) $taskFolder.GetTasks($Hidden -as [bool]) | Where-Object { $_.Name -like $name } if ($Recurse) { $taskFolder.GetFolders(0) | ForEach-Object { $psBoundParameters.Folder = $_.Path Get-ScheduledTask @psBoundParameters } } } } |