SharePoint 2013: ¿Se pueden ejecutar scripts y comandos PowerShell desde Visual Studio (I)?

Hacía tiempo que tenía pendiente revisar como poder ejecutar scripts y comandos de PowerShell desde Visual Studio haciendo uso de las PowerShell Tools para Visual Studio (http://visualstudiogallery.msdn.microsoft.com/c9eb3ba8-0c59-4944-9a62-6eee37294597)… el caso es que hoy por fin he encontrado un rato para poder probar estas tools:

  • Tras descargaros las tools e instalarlas en vuestro entorno de desarrollo, veréis que al crear un proyecto en Visual Studio (2013 en mi caso) tenéis disponible una plantilla de proyecto de tipo PowerShell Script Project.
  • Esta plantilla crea una estructura de proyecto con un script PowerShell inicial. Si a dicho script le añadís cualquier comando PowerShell, veréis como se produce el correspondiente error de qué no es posible ejecutar scripts PowerShell…lo curioso del tema es que mi entorno si estaba configurado para permitir la ejecución de scripts, pero parece que al realizar la ejecución desde Visual Studio las herramientas no se enteran…la solución a este problema pasa por seguir las recomendaciones del siguiente enlace: http://rostacik.net/2013/11/13/powershell-tools-for-visual-studio-2012-problem-ps1-cannot-be-loaded-because-running-scripts-is-disabled-on-this-system-for-more-information-see-about_execution_policies/. Básicamente, no tenéis más que añadir el comando Set-ExecutionPolicy con una opción que permita ejecutar scripts, subrayar toda la sentencia y presionar Crtl+F8 para cambiar la política y listo, y podréis ejecutar scripts PowerShell desde Visual Studio.
image image
  • En dichos scripts tendréis la posibilidad de establecer puntos de ruptura para depurar.
  • Y por supuesto, conforme vais depurando podréis ver los valores que vayan tomando las variables que hayáis definido.
image image
  • Finalmente, en las ventanas de Output y de Call Stack podréis ir viendo el resultado de la ejecución de vuestro script. Fijaros que en mi caso está dando errores debido a qué no es capaz de cargar el ensamblado con los comandos PowerShell para SharePoint…esto se debe a que el SnapIn de PowerShell para SharePoint es x64 lo que hace que no se pueda cargar en Visual Studio por el momento…asique nuestro gozo inicial en un pozo :-(.

image