How do I run a PowerShell script from Visual Studio 2010
I did this by adding a context menu item linked to an external tool:
Add an "External Tool". Go to Tools > External Tools. Add a new one with these settings:
- Title:
Run with Powershell
- Command:
powershell.ex
- Arguments:
-ExecutionPolicy RemoteSigned -File "$(ItemPath)"
- Initial Directory:
$(ItemDir)
- Check "
Use Output Window
" - If you plan to use scripts that require arguments, check "
Prompt For Arguments
"
Take note of the position your tool is in the list (1,2, etc...) Click OK.
- Now go to
Tools
>Customize
,Commands
tab, selectContext Menu
orToolbar
, and choose "Project and Solution Context Menus | Item". - Click "
Add Command...
". - Choose
Tools
category, and choose "External Command X
" wherex
is the position your tool was in the list (index starts with 1, not 0). - Click
OK
. - Move it to the position you want in the menu, and click "Modify Selection"to give it a friendly name,
- add keyboard shortcuts, etc..
- Click Close.
Right click your .ps1 file in the solution explorere and enjoy. (NOTE: I also did this for cmd.exe to run .bat files.)
The best way to do this is to install the PowerGUI extension for Visual Studio 2010
One of the features of this extension is an integrated powershell tool window. This has access to automation objects like DTE
via $EnvDTE
and will provide a good environment for running the script against the project
Not sure what exactly you mean by "from within the context of the project" but you can:
Create a
Process
Process p = new Process();
Then set the command of the process to be:
powershell.exe YourScriptName.ps1
This works if you just need to run the script.