Tech / AI

Generate a List of Startup Programs via Command Line or PowerShell

Online Tech Tips is reader-supported. We may earn a commission when you buy through links on our site. Learn more.

You probably already knew this, but if you want to see a list of all of the startup programs that run when Windows starts, you can simply go to the MSCONFIG tool and click on the Startup tab! Here you can enable or disable startup programs easily. You can read my previous article that explains how to use MSCONFIG in detail.

It’s worth noting that in Windows 8 and Windows 10, the Startup tab has been removed from MSCONFIG and is now included in the Task Manager. You can get to the Task Manager by simply right-clicking on the Start button in Windows 8 or Windows 10 and choosing Task Manager from the list.

Table of Contents

    task manager windows 10 - task manager windows 10

    Knowing which programs run at startup can be very useful for debugging all sorts of performance issues related to your PC. One recommendation I always give is to make a list of all of the startup programs enabled while your computer is running normally. That way, if your computer is running slow later on, you can always go back to MSCONFIG and uncheck anything that wasn’t originally listed.

    msconfig windows 7 - msconfig windows 7

    Also, there are times when technical support may request a list of startup programs in order to diagnose an issue with your computer. Generating a list and emailing them could save you a lot of time and prevent someone from having to connect remotely to your computer, which I never prefer since I don’t trust anyone else having access to my computer.

    In addition to the task manager looking a bit nicer and cleaner in Windows 8 and Windows 10, it also forgoes the checkboxes and gives you a column called Startup Impact to help you gauge how that startup item affects the boot time.

    windows 10 boot time - windows 10 boot time

    You can actually generate a list of all the startup programs in Windows using the command prompt or PowerShell and save the list as a text file or an HTML document. Follow the steps below.

    Command Prompt

    Step 1: Open the command prompt by going to Start, Run and typing in CMD. If you are unfamiliar with the command prompt, feel free to read my command prompt beginner’s guide first.

    command prompt - command prompt

    Step 2: Now type in the following WMI (Windows Management Instrumentation) command at the prompt and press Enter.

    wmic startup get caption,command

    You should now see a list of all the applications along with their paths that run at Windows startup.

    cmd startup programs - cmd startup programs

    If you want more information, you can also just type wmic startup and you’ll get a few extra fields like Location, UserSID and User.

    Step 3: If you want to export the list out as a text file, type in the following command:

    wmic startup get caption,command > c:\StartupApps.txt

    And if you want to create an HTML file, just type this instead:

    wmic startup get caption,command > c:\StartupApps.htm

    PowerShell

    If you prefer to use the more modern and powerful PowerShell, the command below will give you pretty much the same results as the WMI command above.

    Get-CimInstance Win32_StartupCommand | Select-Object Name, command, Location, User | Format-List 

    powershell startup programs - powershell startup programs

    If you want to send the output of a PowerShell command to a text file, you can simply append the following part to the above command after Format-List.

    | Out-File c:\scripts\test.txt

    Make sure to include the pipe symbol | that is at the very front. I actually prefer the output of PowerShell because the formatting is much easier to view in a text editor.

    That’s about it. You should now have a list of startup programs that you can save and reference later. If you have any questions, feel free to post a comment. Enjoy!

    Leave a Reply

    Your email address will not be published. Required fields are marked *