StartType property added to Get-Service in PowerShell version 5 build 10586 on Windows 10 version 1511

If you’ve used PowerShell for more than 5 minutes, then you probably have some experience with the Get-Service cmdlet. As you could have guessed if you didn’t already know, the Get-Service cmdlet retrieves information about Windows services.

Depending on what you’re trying to accomplish, that particular cmdlet could leave a lot to be desired. Want to know if a service is running? No problem. Want to know what the startup type is for one or more services? Sorry, you can’t accomplish that task with Get-Service.

Notice that Get-Service in PowerShell version 5 build 10240 on Windows 10 (and all prior operating systems and PowerShell versions) doesn’t include a StartType property:


This wasn’t due to a problem with the Get-Service cmdlet as it simply returns what the .NET Framework provides:


That meant that you had to resort to querying WMI to determine if a service is set to start automatically, manual, disabled, etc. This can be accomplished with either the Get-WMIObject or Get-CimInstance cmdlet:


If you’re running Windows 10 version 1511 (the updated version released in November of 2015), then you’re in luck because that particular version of PowerShell version 5 (build 10586) adds a StartType property to Get-Service:


Once again, they are simply returning what the .NET Framework provides and this addition property is now included:


As I’ve previously written, PowerShell version 5 adds a property to the Win32_Service WMI class that allows you to determine if a service is set to start automatically with a delayed start. If you’re running a previous version of PowerShell, you’ll have to query the registry for that info as demonstrated in this Hey, Scripting Guy! Blog article.

Stay tuned next week when I’ll demonstrate how to determine if a service is set to start automatically with a trigger start. This is more difficult to determine than the delayed start ones and unfortunately there’s no additions to newer operating systems or PowerShell versions to make it simpler.



  1. Melanie

    THANK YOU!!!!!! I have been looking for this for an hour!

  2. schwebbe

    Hi, thank you for the article. I have several problems with it. I can successfully query, display, etc. StartType property on Win 7 using PS Version 4. SAME script does not successfully run on Win 2008 R2 with PS Version 5.1. It is not possible to use StartType. The difference? My Win 7 runs .Net Framwork 4.6.1, the 2k8 machine has 4.5.something. So, I conclude it depends on the underlying .Net version and the properties the classes expose, not PS. This is not confirmed/researched, but seems logic for me.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: