miércoles, 8 de junio de 2011

[Tip] Agregar automáticamente los cmdlets de SharePoint a PowerShell ISE

Si a ustedes como a mi, les gusta usar Windows PowerShell ISE a la hora de escribir scripts PowerShell, principalmente,  aunque no únicamente, para SharePoint Server 2010, les mostraré un tip para evitar el uso del comando Add-PSSnapin para registrar los cmdlets de SharePoint cada vez que abrimos esta aplicación.

Antes que nada, si ustedes aún no usan Windows PowerShell ISE, lo recomiendo ampliamente por sus características de Debugging, si aún no lo usan porque no lo tienen activado, recuerden que Windows PowerShell ISE es instalado en Windows 2008/R2 por default, solo que no es activado, y esto se logra mediante la activación de la característica “Windows PowerShell Integrated Scripting Environment (ISE)”.

Una vez que ya lo han activado e iniciado, se darán cuenta que si intentan usar algún cmdlet de SharePoint, este no funciona y es porque no ha sido registrado el paquete de cmdlets de SharePoint, para esto usamos el cmdlet Add-PSSnapin Microsoft.SharePoint.PowerShell, ahora bien, volviendo a la intención original de este post, que es evitar escribir este comando cada vez que abrimos el Windows PowerShell ISE, podemos editar ó crear (en caso de no existir) una archivo de perfil de usuario, con el fin de que cada vez que abramos esta aplicación, este archivo de perfil de usuario se encargue de cargar todos los paquetes de cmdlets que hayamos indicado.

Existen cuatro diferentes ámbitos de perfiles en los cuales se puede crear este archivo, para mayor información revisen este link de technet, yo personalmente recomiendo que usen el que aplica a todos los usuarios y todos los shells, con esto se evitaran repetir esta acción entre diferentes usuarios y diferentes consolas de Shell, este archivo lo pueden referenciar a través de $profile.AllUsersAllHosts. A continuación los pasos que pueden usar para crear este archivo y agregar los paquetes de cmdlets que deben cargarse cada que se lanza la aplicación, en este ejemplo solo agrego el de SharePoint 2010.

Primero se debe abrir el archivo de perfil (profile.ps1) si existe de lo contrario crearlo, para esto se puede abrir directamente desde el file system o mediante un comando de PowerShell como se observa a continuación:


if (!(test-path $profile.AllUsersAllHosts))
{
    new-item -type file -path $profile.AllUsersAllHosts-force
}

Una vez que el archivo está abierto solo se debe agregar el siguiente código:
#se edita el archivo de perfil
psEdit $profile.AllUsersAllHosts
If ((Get-PSSnapIn -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null )
{ 
    Add-PSSnapIn -Name Microsoft.SharePoint.PowerShell 
    #agregue aqui sus modulos favoritos!
}


Después guardar el archivo y listo, la siguiente vez que se lance la aplicación automáticamente se cargarán los módulos indicados.

Happy Coding!

Etiquetas

SharePoint 2010 (38) Microsoft (32) Desarrollo SharePoint (31) Gerardo Reyes Ortiz (27) SharePoint (20) SharePoint 2013 (18) Errores SharePoint (12) México (10) PowerShell (9) Silverlight (8) Visio Services (7) Features (6) MVP (6) Silverlight 3 (6) WebCast (6) Workflows (6) Configuracion SharePoint 2010 (5) D.F. (5) API REST (4) Configuracion SharePoint 2010; (4) Troubleshooting (4) Visual Studio 2010 (4) Visual studio (4) WSS (4) Web parts (4) Apps (3) Comunidad SharePoint (3) Configuración SharePoint 2013 (3) ODATA (3) SharePoint Server (3) SharePoint; Instalación SharePoint; Troubleshooting; Search Service (3) Silverlight 3.0 (3) Silverlight Toolkit (3) WebParts (3) javascript (3) jquery (3) Eventos SharePoint (2) Office 2010 (2) PeoplePicker (2) REST (2) SQL Server (2) Scripting (2) Search Service Application (2) SharePoint Designer (2) UPA (2) UPS (2) Workflows SharePoint (2) host header (2) Apps Development (1) Big Bang (1) CAS (1) CSOM (1) Codeplex (1) CompartiMOSS (1) Configuracion SharePoint 2010; Errores SharePoint (1) Configuracion SharePoint 2010; SharePoint 2010 (1) Custom Actions (1) Custom Editor Parts (1) Delegate Controls (1) Deployment (1) DisableLoopbackCheck (1) Document Library (1) Entrevista (1) Examenes de Certificación (1) Extract WSP (1) FBA (1) FS4SP (1) Fakes (1) Fast Search Server 2010 For SharePoint (1) Fiddler (1) HTTP.SYS (1) HTTPS (1) JSON (1) Language Pack's (1) Latam (1) MAXDOP (1) MCSM (1) MSExpertos (1) MVC (1) Microsoft México (1) Microsoft; Codeplex; Screencast; (1) My Sites (1) SQL Server 2012 (1) SQL Server Reporting Services (1) Screencast (1) Screencast; (1) Service Applications (1) Service Pack (1) SharePoint 2007 (1) SharePoint 2010 SP 1 (1) SharePoint API (1) SharePoint Conference (1) SharePoint Emulators (1) SharePoint Farm (1) SharePoint Health Analyzer (1) SharePoint Magazine (1) SharePoint Online (1) SharePoint Search (1) SharePoint Test (1) SharePoint; Desarrollo SharePoint (1) Shims (1) Simposio (1) Simposio Latinoamericano (1) SkyDrive Pro (1) Soporte Microsoft (1) Templates (1) Tip (1) VSeWSS (1) Virtual Machine (1) Visual Studio 2012 (1) WCF (1) WSS; IIS 7 (1) Web API (1) Web Content Management (1) Web Services (1) Windows 8 (1) Windows Live ID (1) Xml (1) appcmd (1) iOS (1) jqGrid (1) onload function (1)