If you have Windows Management Framework (WMF) 5.0 or newer – installed with Windows 10 – or PowerShellGet for PowerShell 3.0 or 4.0, you can run the following from even an unelevated PowerShell host:
Install-Module VSSetup -Scope CurrentUser
After installing, you can quickly enumerate all launchable instances you have installed.
If you want to enumerate all instances – even those requiring a reboot or otherwise not complete – you can pass
The default display properties present the main information for which end users are probably most interested, but you can pipe the results to
select * to see everything.
If you want to select specific instances – like the latest installed instance with the .NET Framework (desktop) workload – you can use
Get-VSSetupInstance | Select-VSSetupInstance -Latest -Require Microsoft.VisualStudio.Workload.ManagedDesktop
More examples are available in our README. You can log bugs and suggestions on the Issues page, and we are happy to consider pull requests. See CONTRIBUTING for developer notes. We appreciate your comments and contributions.