public/Get-ScheduledTaskImproved.ps1
function Get-ScheduledTaskImproved { [CmdletBinding()] Param ( [string[]] $ComputerName, [switch] $RootOnly, [System.Management.Automation.PSCredential] $Credential ) $scriptblock = { $data = schtasks.exe /query /V /FO CSV | ConvertFrom-Csv | Where-Object { $_.TaskName -ne "TaskName"} if ($using:RootOnly){ $data = $data | Where-Object {$_.TaskName -notlike "\*\*"} } return $data }# end script block #Execute Scriptblock on Computername(s) with set parameters. $params = @{ ScriptBlock = $scriptblock } if ($ComputerName){ $params['ComputerName'] = $ComputerName } if ($Credential){ $params['Credential'] = $Credential } Invoke-Command @params } |