SharePoint

Administración eficaz de la línea de comandos para SharePoint

Todd Klindt

 

Resumen:

  • Configuración de SharePoint con STSADM
  • Tareas administrativas diarias de scripts
  • Operaciones avanzadas de STSADM

Piense en la forma en la que los usuarios interactúan con Windows o Microsoft Office. Algunos usuarios son muy hábiles a la hora de utilizar el puntero para navegar por los menús y barras de herramientas con el fin de realizar tareas habituales. Otros se sienten más cómodos

con el teclado si tienen que ejecutar rápidamente pulsaciones de teclas y accesos directos. Casi siempre hay varias formas de realizar una tarea determinada.

El hecho es que puede que sea sencillo usar una interfaz gráfica, pero puede ser al mismo tiempo engorroso a la hora de realizar tareas que requieren la repetición de la misma acción una y otra vez. Es más sencillo realizar determinados tipos de acciones mediante el teclado. Si realiza una administración de SharePoint®, es probable que detecte las acciones que pueden llegar a enredar a los usuarios en la interfaz gráfica. Sin embargo, SharePoint ofrece una forma mucho más eficaz de realizar acciones.

La principal interfaz para administrar Windows® SharePoint Services (WSS) y Microsoft® Office SharePoint Server 2007 (MOSS) es la de la administración central de SharePoint basada en GUI. SharePoint también incluye una herramienta de línea de comandos para una administración más eficaz. Esta herramienta, STSADM.exe, proporciona toda la funcionalidad de la administración central de SharePoint, aunque con la flexibilidad de la línea de comandos que muchos administradores desearían. Este artículo es un curso intensivo sobre el uso de STSADM para administrar WSS y MOSS. También incluyo en el mismo algunos consejos acerca de la configuración del entorno y analizo algunos comandos habituales en STSADM. Incluso les mostraré algunos comandos de STSADM avanzados que pueden hacerles sentirse como héroes en caso de que sea necesario utilizarlos.

Introducción

Si no encuentra STSADM, puede ser porque se encuentra de algún modo escondido. En Windows SharePoint Services 2.0, está de forma predeterminada en c:\Archivos de programa\Archivos comunes\Microsoft Shared\web server extensions\60\BIN. La ubicación predeterminada en la versión 3.0 es c:\Archivos de programa\Archivos comunes\Microsoft Shared\web server extensions\12\BIN.

Para hacer más sencillo el acceso a esta herramienta, se pueden utilizar dos métodos distintos. En primer lugar, la adición de este directorio a la variable de entorno PATH. De esta forma se puede utilizar STSADM siempre que esté en el sistema de archivos. Sin embargo, esto no es siempre una opción. El segundo método es la creación de un acceso directo a CMD.EXE y establecer la ubicación de STSADM como directorio inicial. ¿Y por qué no designar directamente un acceso directo a STSADM? Esto no funcionaría puesto que STSADM no es interactivo. Como resultado, si no se designa directamente un acceso directo a STSADM, se mostrará una visualización rápida del uso y desaparecerá a continuación.

Al ejecutar STSADM, es necesario ser miembro del grupo de administradores locales en el servidor web, así como ejecutar la aplicación localmente. Esto quiere decir que no es posible utilizar STSADM para administrar un servidor de SharePoint de forma remota.

Para ver las operaciones que se pueden realizar con STSADM, escriba stsadm.exe -help en un símbolo del sistema. Asegúrese de comprobar esta lista después de aplicar actualizaciones y revisiones en SharePoint ya que se pueden haber agregado nuevas operaciones. Hay también disponible una guía útil para las operaciones de stsadm.exe en go.microsoft.com/fwlink/?LinkId=77516 (en inglés).

Conceptos básicos relativos a STSADM

Comencemos examinando algunos de los comandos que pueden utilizarse para ajustar la instalación de SharePoint existente. Puede utilizar STSADM para agregar funcionalidad a SharePoint y modificar los valores de configuración.

STSADM utiliza la estructura -o parámetro seguida de la operación que se desea realizar. Si se escribe únicamente STSADM -operationname no servirá de nada. Si, por ejemplo, desea agregar plantillas de sitio web a la instalación, puede hacerlo mediante el siguiente comando:

Stsadm -o addtemplate -filename <filename of the template> 
-title <title of template> -description <description of template>

O bien, si desea agregar un paquete de elementos web, puede utilizar este comando:

Stsadm -o addwppack -filename <filename of the Web Part Package>

Para obtener más información acerca del uso de cualquier operación, escriba la operación sin parámetros y STSADM le indicará lo que debe introducir. STSADM -help operationname también proporciona información sobre el uso.

A la hora de administrar plantillas, puede utilizar la operación enumtemplates para ver las plantillas que se han agregado y deletetemplate para eliminar las que estén instaladas. Asimismo, existen comandos para trabajar con los paquetes de elementos web. La operación enumwppacks permite mostrar los paquetes de elementos web instalados en cada servidor virtual o aplicación web y deletewppack permite eliminar los que se hayan agregado.

STSADM también cuenta con dos operaciones relacionadas con la configuración de SharePoint: setproperty y getproperty. Si se ejecuta cualquiera de las dos sin parámetros, se mostrará una lista de las propiedades que se pueden ver o manipular. Al igual que STSADM, esta lista cambia con las actualizaciones y las revisiones. No obstante, algunas propiedades son más útiles que otras. En la figura 1 se muestran algunas de las propiedades que se pueden establecer una vez instalado SharePoint, incluida la mayoría de las propiedades habituales por las que los administradores de SharePoint suelen preguntar.

Figure 1 Configuración de las propiedades útiles de SharePoint

Propiedad Función
Alertas habilitadas Activa y desactiva las alertas del servidor virtual o la aplicación web.
Alertas restringidas Especifica si los usuarios tienen restricciones para configurar un determinado número de alertas en el servidor virtual o en la aplicación web.
Alertas máximas Si se han determinado los límites de alerta, esta propiedad es el número máximo de alertas que el usuario puede establecer.
Días que mostrar nuevo icono Esta propiedad establece el tiempo durante el que se muestra el icono "Nuevo" junto a los elementos agregados al sitio web, como anuncios, por ejemplo.
Alertas de trabajo inmediatas Especifica la frecuencia con la que SharePoint busca alertas inmediatas que enviar. El valor determinado en SharePoint 2.0 es cinco minutos. El intervalo se puede ajustar aquí mismo. La disminución del tiempo aumentará la carga en los servidores web y de base de datos, por lo que debe estar pendiente si cambia esta propiedad.
Alertas diarias de trabajo Especifica la hora a la que se envían las alertas. El valor predeterminado en SharePoint 2.0 es "entre las 22:00 y las 06:00". Si hay usuarios que no se encuentran en la misma zona horaria que el servidor, puede que sea necesario ajustar esta propiedad.
Alertas semanales de trabajo Es probable que vea aquí el patrón. Esta propiedad determina la programación de las alertas semanales.

Veamos rápidamente el uso de una de estas propiedades. El siguiente comando hará que SharePoint envíe alertas inmediatas cada 10 minutos:

Stsadm -o setproperty -pn job-immediate-alerts -pv "Every 10 minutes"

Tenga en cuenta que he utilizado -pn y -pv en lugar de -propertyname y -propertyvalue. Estos accesos directos son válidos para las ocasiones en las que no le apetezca escribir la palabra completa. Tenga en cuenta también que todos los ejemplos y comandos analizados en esta sección funcionarán en las versiones 2.0 y 3.0 de Windows SharePoint Services.

Administración diaria

La administración diaria de SharePoint es muy sencilla. Para la mayoría de administradores de SharePoint, la inmensa parte de las tareas diarias consiste en trabajar con usuarios y sitios. STSADM cuenta con varias operaciones para agilizar estas tareas.

Comenzaremos por los sitios y las webs. Por motivos de coherencia, utilizaré la palabra "sitio" para referirme a una colección de sitios y "web" para los subsitios (también conocidos como subwebs). Parte de la terminología es algo peliaguda, pero si se es coherente con la que utiliza STSADM, será sencillo encontrar el comando necesario.

Si ejecuta una instalación de gran tamaño de SharePoint, es probable que invierta demasiado tiempo en crear nuevos sitios para los usuarios. Yo me he visto varias veces en esta situación. La creación de sitios nuevos se puede llevar a cabo fácilmente en la administración central de SharePoint. Pero, como realizo esta tarea muy a menudo, he encontrado una forma más rápida de utilizar STSADM para hacer el trabajo.

Utilizo la operación createsite. Es muy sencillo y se realiza mediante los siguientes parámetros:

  • url <url>
  • ownerlogin <DOMINIO\nombre>
  • owneremail <alguien@ejemplo.com>
  • ownername <nombre para mostrar>
  • lcid <idioma>
  • sitetemplate <plantilla de sitio>
  • title <título de sitio>
  • description <descripción de sitio>
  • quota <plantilla de cuota>

Puede introducir estos parámetros en el símbolo del sistema si escribe stsadm -help createsite (consulte la figura 2). De los nueve parámetros, los únicos campos obligatorios son URL, ownerlogin y owneremail.

Figura 2 Parámetros de createsite

Figura 2** Parámetros de createsite **(Hacer clic en la imagen para ampliarla)

Si hay sitios que crea de forma rutinaria, puede avanzar en la simplificación del proceso si escribe un contenedor de scripts en STSADM para automatizar la tarea. Por ejemplo, para automatizar la creación de sitios personales, puede guardar lo siguiente en un archivo de texto con el nombre de createpersonalsite.cmd:

stsadm -o createsite -url https://localhost/users/%1 -ownerlogin contoso\%1 
-owneremail %1@contoso.com -sitetemplate usersite.stp 
-title "Personal site for %1" -description "Personal site for %1" -quota "500 MB"

Para crear a continuación un sitio para el usuario jsmith, tan sólo tiene que ejecutar lo siguiente:

createpersonalsite.cmd jsmith

La creación de un sitio de scripts ahorra escritura y garantiza que todos los sitios recién creados son coherentes. La operación createweb proporciona la misma funcionalidad en el nivel de la web.

En Windows SharePoint Services 2.0, la única forma sencilla de obtener una lista exhaustiva de las colecciones de sitios en un servidor virtual determinado es a través de STSADM. Enumsites muestra en formato XML todas las colecciones de sitios en un servidor virtual determinado o en una aplicación web. Esto, junto con el elemento web Vista de datos, permite ver fácilmente una lista de colecciones de sitios. Para obtener más información, consulte en la barra lateral "Trabajo con el elemento web Vista de datos" (en inglés).

STSADM ofrece una operación deletesite, como puede imaginar, para eliminar sitios. Lo único que debe proporcionar es la URL. También puede introducir -deleteadaccounts para que se eliminen las cuentas de Active Directory®. A la hora de trabajar con webs se debe utilizar la operación deleteweb.

También puede agregar, eliminar y enumerar los usuarios de un sitio o una web. Las operaciones asociadas son adduser, deleteuser y enumusers. Estas operaciones son útiles si es necesario agregar usuarios a un sitio de forma masiva o mantener una lista de los usuarios que tienen acceso a un sitio con fines de auditoría.

Si trabaja con webs tiene acceso a una operación adicional, renameweb, que le permite cambiar el nombre y la URL de una web. Por ejemplo, para cambiar el nombre de una web de "oldname" a "coolnewname", utilice lo siguiente:

Stsadm -o renameweb -url https://localhost/oldname -newname coolnewname

Esto puede ser una salvación cuando los nombres de proyecto cambian o se realinean unidades de negocio. En Windows SharePoint Services 2.0, esto supone un gran problema, ya que la única forma de migrar webs es mediante SMIGRATE.exe, que no mantiene ninguna configuración relacionada con el usuario como suscripciones o alertas. En Windows SharePoint Services 3.0, no supone tanto problema, ya que STSADM puede hacer copias de seguridad y restaurar webs y sitios.

Copia de seguridad y restauración

Uno de los mejores usos de STSADM es realizar copias de seguridad y restaurar sitios y webs. En instalaciones de tamaño pequeño a medio, esta funcionalidad puede ser la clave de un plan de recuperación de desastres. La operación de copia de seguridad no necesita explicación y es muy fácil de usar. Sólo tiene que indicar a STSADM el sitio del que desea realizar la copia de seguridad y el lugar donde desea almacenar dicha copia, por ejemplo de la siguiente manera:

Stsadm -o backup -url https://localhost -filename site.bak

Esta operación vuelca toda la colección de sitios en el archivo site.bak. En él se incluye todo el contenido del sitio, como webs, versiones de documentos, listas y usuarios. No se realizan copias de seguridad de definiciones del sitio ni de cambios realizados en el nivel del sistema de archivos de los servidores.

A pesar de que la operación de copia de seguridad es importante, tiene algunos inconvenientes de los que hay que estar pendientes. Si el sitio es lo suficientemente grande, puede que la base de datos de contenido se bloquee durante el proceso de copia de seguridad. Esto puede evitar que los usuarios tengan acceso a cualquier sitio de la base de datos hasta que finalice la operación de copia de seguridad. Este problema se ha mitigado con los service pack, pero hay que seguir controlándolo a medida que el sitio se amplía. STSADM también utiliza el directorio temporal del servidor al realizar copias de seguridad y restauraciones, por lo que debe supervisar el espacio en disco.

Trabajar con un elemento web Vista de datos

Puede acoplar el comando enumsites con un elemento web Vista de datos para crear una forma sencilla de ver una lista de colecciones de sitios. Veamos cómo.

En primer lugar, cree una tarea programada que ejecute:

stsadm –o enumsites –url https://localhost
>c:\inetpub\wwwroot\excludedsite\sites.xml 

Asegúrese de que el archivo XML se está pasando a un directorio que se publica mediante IIS, pero que no lo administra SharePoint. Utilice a continuación Microsoft FrontPage® (o su sucesor, Microsoft Office SharePoint Designer 2007) para agregar un elemento web Vista de datos a una página del elemento web e indicarlo en la URL del archivo XML.

El elemento web Vista de datos proporciona funcionalidad como la ordenación, el filtrado y la agrupación. También puede convertir el campo URL en un vínculo que le lleve directamente al sitio. Si en su lugar desea obtener una lista de webs, la operación enumsubwebs proporciona un resultado XML de los subsitios en la colección de sitios o una web.

Por último, recuerde que aunque las copias de seguridad de STSADM funcionen correctamente en sitios pequeños y medianos, la funcionalidad no se escala particularmente bien. En sitios de gran tamaño (varios gigabytes o más), los procesos de copia se seguridad y restauración se pueden ralentizar bastante.

La restauración de un sitio es igualmente sencilla. El parámetro -o restore de STSADM toma un archivo creado mediante el parámetro -o backup y lo pasa a un sitio de SharePoint. Este comando permite mucha flexibilidad: puede volver a restaurar un sitio en su ubicación original (si, por ejemplo, el sitio se ha eliminado por error), restaurarlo como un sitio diferente del mismo servidor virtual (si desea probar un proceso en un sitio sin riesgo de destruir datos), o bien restaurar el sitio en un servidor completamente distinto o en un servidor virtual.

La restauración en un sitio o servidor diferente facilita un poco la recuperación del documento individual. Si ha realizado la copia de seguridad de un sitio y un usuario necesita un documento restaurado, no es necesario restaurar todo el sitio. Esto sacrificaría todos los cambios realizados en el sitio desde que se almacenó la copia de seguridad. En su lugar, puede restaurar el sitio en una URL distinta, tomar los documentos y volverlos a guardar en el sitio original.

En Windows SharePoint Services 2.0, STSADM cuenta con una limitación bastante exigente. Sólo se pueden realizar copias de seguridad de sitios y no de webs. Los administradores comunicaron su disconformidad y Microsoft respondió. En Windows SharePoint Services 3.0, es posible actualmente realizar copias de seguridad y restauraciones de webs. También agrega dos nuevos comandos: import y export.

Para exportar una web, utilice el siguiente comando simple:

Stsadm -o export -url https://localhost/web -filename backup.dat

La exportación cuenta con opciones útiles, incluido el modificador -versions. Este modificador le permite decidir el tamaño de los archivos de copia de seguridad mediante la restricción de las versiones de archivos de las que se va a realizar la copia de seguridad.

Para volver a importar una web en el servidor, utilice el siguiente comando:

Stsadm -o import -url https://localhost/web2 -filename backup.dat

Si el sitio es lo suficientemente grande, el archivo de copia de seguridad puede estar en varias partes. En este caso, introduzca STSADM -o import en el primer archivo y los siguientes archivos se tomarán automáticamente.

Operaciones de experto

Ahora que se ha familiarizado con STSADM, quiero mostrarle un par de operaciones que puede utilizar para evitar un enlace. La primera, es una operación recién agregada denominada migrateuser. La versión 2.0 no se sincroniza con Active Directory. Si cambia el nombre de una cuenta, no podrá iniciar sesión en SharePoint desde la misma. Anteriormente, no había forma de migrar el acceso de un usuario del dominio a otro. Antes de la publicación de Windows SharePoint Services 2.0 Service Pack 2 (SP2), era necesario eliminar el usuario de todas las webs y agregar la nueva cuenta manualmente.

SP2 presentó una nueva API y STSADM lo aprovecha. Si se cambia el nombre de la cuenta jsmith por jjones, puede utilizar el siguiente comando:

Stsadm -o migrateuser -oldlogin domain\jsmith -newlogin domain\jjones -ignoresidhistory

Puesto que no está migrando cuentas realmente, puede omitir el historial del Id. de seguridad (SID) de Windows. Tenga en cuenta que no es necesaria una URL para este comando. El cambio se realiza en las bases de datos de contenido, independientemente de los sitios o webs.

Otra operación que puede evitar un enlace es unextendvs. Si no desea que SharePoint represente un servidor virtual o aplicación web, deshaga la extensión del mismo. Normalmente, esto se realiza desde SharePoint Configuration Analyzer. Sin embargo en un conjunto de servidores web, SharePoint Configuration Analyzer requiere que los servidores estén al mismo nivel de revisión. Es posible que alguno de los servidores no esté sincronizado con el resto y, por lo tanto, no pueda aplicar la opción para deshacer la extensión en SharePoint Configuration Analyzer. Sin embargo, si utiliza el siguiente comando en STSADM, se deshará la extensión del servidor virtual:

Stsadm -o unextendvs -url https://localhost

Una vez que el servidor no se encuentre dentro del conjunto de servidores, puede realizar el mantenimiento necesario.

En cuanto a los conjuntos de servidores web, para facilitar la administración, es posible que desee que todos los servidores tengan SharePoint Configuration Analyzer en el mismo puerto. El puerto se genera de forma aleatoria al instalar SharePoint, pero STSADM incluye una operación para cambiar el puerto a uno especificado:

Stsadm -o setadminport -port 1026

Mediante esta operación es posible realizar los cambios necesarios en la base de datos, los cambios en los servicios ISS y ajustar el acceso directo a Sharepoint Configuration Analyzer en Herramientas administrativas.

Conclusión

Windows SharePoint Services es una solución eficaz y requiere una buena administración. STSADM proporciona una forma de llevar a cabo la administración de SharePoint, incluida la automatización de la configuración y de las tareas diarias habituales. De hecho, a veces ésta es la única forma de realizar el trabajo.

Todd Klindt es analista de sistemas en UGS, donde le pagan por jugar con SharePoint todo el día. También trabaja como MVP para Windows SharePoint Services y es Acuario.

© 2008 Microsoft Corporation and CMP Media, LLC. Reservados todos los derechos; queda prohibida la reproducción parcial o total sin previa autorización.