PowerShell module to interact with Visual Studio Setup
C# PowerShell Batchfile
Clone or download
Latest commit 4eb2842 Jul 5, 2018


Visual Studio Setup PowerShell Module

build status: master github release github releases: all PowerShell Gallery

This PowerShell module contains cmdlets to query instances of Visual Studio 2017 and newer. It also serves as a more useful sample of using the Setup Configuration APIs than the previously published samples though those also have samples using VB and VC++.


With Windows Management Framework 5.0 or newer (which installs PowerShell and comes with Windows 10), or PowerShellGet for PowerShell 3.0 or 4.0, you can download and install this module easily.

Install-Module VSSetup -Scope CurrentUser

To install for all users, pass AllUsers instead of CurrentUser, or just leave the -Scope parameter out of the command entirely.

You can also download the ZIP package from the Releases page on this project site and extract to a directory named VSSetup under a directory in your $env:PSMODULEPATH.

Expand-Archive VSSetup.zip "$([Environment]::GetFolderPath("MyDocuments"))\WindowsPowerShell\Modules\VSSetup"


You can query all usable instances of Visual Studio and other products installed by the Visual Studio installer.


To get the instance for a specific installation directory, you can run the following.

Get-VSSetupInstance 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community'

If you want to select the latest instance that contains the .NET desktop development workload, you can pipe all instances - usable or not - to Select-VSSetupInstance that provides more fine grain control over which instances you enumerate.

Get-VSSetupInstance -All | Select-VSSetupInstance -Require 'Microsoft.VisualStudio.Workload.ManagedDesktop' -Latest


To file issues or suggestions, please use the Issues page for this project on GitHub.