Dargslan.WinTaskbarMgr.psm1
|
<# .SYNOPSIS Windows startup program and scheduled task optimization toolkit .DESCRIPTION Part of the Dargslan Windows Admin Toolkit collection. More tools and resources at https://dargslan.com .LINK https://dargslan.com #> function Get-StartupOptimization { <# .SYNOPSIS Analyze startup programs and suggest optimizations .DESCRIPTION Reviews autostart programs, scheduled tasks at logon, and startup services. Part of Dargslan.WinTaskbarMgr #> [CmdletBinding()] param([switch]$Json) $report = [ordered]@{ StartupPrograms = Get-CimInstance Win32_StartupCommand | Select-Object Name, Command, Location, User LogonTasks = Get-ScheduledTask | Where-Object State -eq "Ready" | Select-Object -First 20 TaskName, State AutoStartServices = Get-Service | Where-Object StartType -eq "Automatic" | Select-Object Name, DisplayName, Status Summary = [PSCustomObject]@{ StartupPrograms = (Get-CimInstance Win32_StartupCommand | Measure-Object).Count AutoServices = (Get-Service | Where-Object StartType -eq "Automatic" | Measure-Object).Count StoppedAutoServices = (Get-Service | Where-Object { $_.StartType -eq "Automatic" -and $_.Status -ne "Running" } | Measure-Object).Count } } if ($Json) { return $report | ConvertTo-Json -Depth 3 } Write-Host "`n [Startup Optimization]" -ForegroundColor Cyan $report.Summary | Format-List Write-Host " Startup Programs:" -ForegroundColor Yellow $report.StartupPrograms | Format-Table Name, Command, Location -AutoSize return $report } Export-ModuleMember -Function * |