SharePoint 2010: Administración de soluciones SandBox con PowerShell (I)!

Como sabéis, SharePoint 2010 introduce (entre otras muchas novedades) la posibilidad de desarrollar componentes típicos de la plataforma de acuerdo a unas ciertas restricciones y que se ejecuten de forma aislada sin comprometer la seguridad de nuestro despliegue. El despliegue y administración de estas soluciones ya no corresponde necesariamente a un administrador de sistemas, sino que un administrador a nivel de colección de sitios puede encargarse de subir estas soluciones a la galería de soluciones y realizar su activación…el administrador de sistemas se encargará de monitorizar que todo es correcto a nivel global en cuanto a recursos asignados para el SandBox. Ahora bien, si hablamos de administración con PowerShell, en lo que a las soluciones SandBox se refiere tenemos una serie de opciones para conocer ciertos aspectos en torno a como se están desplegando las soluciones, que validadores están disponibles, etc. En este post os enseñaré algunos ejemplos de código PowerShell útil para administrar soluciones SandBox:

  • Como sabéis, cuando se carga una solución SandBox en la galería de soluciones de una colección de sitios, se realiza una primera validación mediante al menos un validador de soluciones SandBox que incorporar la plataforma (nosotros podemos crear y desplegar nuevos validadores que hagan todavía más segura la carga de este tipo de soluciones).
  • Para conocer los validadores desplegados, basta con ejecutar el siguiente script PowerShell que accede al servicio de código de usuario y muestra la información relativa a los validadores de soluciones disponibles. En este caso sólo disponemos del validador por defecto.
   1: Add-PSSnapin Microsoft.SharePoint.Powershell

   2: $usercode = [Microsoft.SharePoint.Administration.SPUserCodeService]::Local

   3: $usercode.SolutionValidators

image image
  • A nivel de colección de sitios se configura la cuota para el SandBox, es decir, el máximo de recursos asignados a soluciones de este tipo y que en ningún caso se puede superar en tiempo de ejecución. Para conocer la cuota de una cierta colección de sitios mediante PowerShell no tenemos más que instanciar un objeto de tipo SPSite y acceder a la propiedad Quota del mismo:
   1: $intranet = Get-SPSite | Where-Object {$_.Url -eq "http://demo2010a:100"}

   2: $intranet.Quota

image image
  • Conocer los factores que se tienen en cuenta para determinar el uso que está haciendo una solución SandBox de la cuota máxima de recursos establecida a partir de factores como el tiempo de ejecución de CPU, consultas SQL realizadas, etc. Para conocer las distintas medidas que se tienen en cuenta y su peso con respecto a la cuota ejecutaremos el siguiente script:
   1: $usercode = [Microsoft.SharePoint.Administration.SPUserCodeService]::Local

   2: $usercode.ResourceMeasures

image

Y hasta aquí llega este primer post sobre administración de soluciones SandBox mediante PowerShell.

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *