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.