Run Windows PowerShell from SQL Server Management Studio

THIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

You can start Windows PowerShell sessions from Object Explorer in SQL Server Management Studio. Management Studio launches Windows PowerShell, loads the SqlServer module, and sets the path context to the associated node in the Object Explorer tree.

Note

There are two SQL Server PowerShell modules; SqlServer and SQLPS. The SQLPS module is included with the SQL Server installation (for backwards compatibility), but is no longer being updated. The most up-to-date PowerShell module is the SqlServer module. The SqlServer module contains updated versions of the cmdlets in SQLPS, and also includes new cmdlets to support the latest SQL features.
Previous versions of the SqlServer module were included with SQL Server Management Studio (SSMS), but only with the 16.x versions of SSMS. To use PowerShell with SSMS 17.0 and later, the SqlServer module must be installed from the PowerShell Gallery. To install the SqlServer module, see Install SQL Server PowerShell.

When you specify running PowerShell for an object in Object Explorer, SQL Server Management Studio starts a Windows PowerShell session in which the SQL Server PowerShell snap-ins have been loaded and registered. The path for the session is preset to the location of the object you right-clicked in Object Explorer. For example, if you right-click the AdventureWorks2012 database object in Object Explorer and select Start PowerShell, the Windows PowerShell path is set to the following:

SQLSERVER:\SQL\MyComputer\MyInstance\Databases\AdventureWorks2012>  

Run PowerShell

To run PowerShell from SQL Server Management Studio

  1. Open Object Explorer.

  2. Navigate to the node for the object to be worked on.

  3. Right-click the object and select Start PowerShell.

Permissions

When opened from Management Studio, PowerShell does not run with Administrator privileges, which may prevent some activities such as calls to WMI.

See Also

SQL Server PowerShell