SharePoint

Administração de linha de comando potente para SharePoint

Todd Klindt

 

Visão geral:

  • Configurando o SharePoint com STSADM
  • Criando scripts para tarefas administrativas diárias
  • Operações avançadas de STSADM

Pense em como as pessoas interagem com o Windows ou o Microsoft Office. Alguns usuários são ávidos manipuladores de mouse e usam o ponteiro para navegar por menus e barras de ferramentas para realizar tarefas comuns. Outros se sentem mais confortáveis

com o teclado, pressionando, rapidamente, as teclas e os atalhos familiares. Quase sempre existem várias formas de realizar uma tarefa determinada.

O fato é que uma interface gráfica pode ser fácil de usar, mas pode ser igualmente complicada para tarefas que exigem repetir sempre a mesma coisa. Algumas coisas são mais fáceis de serem feitas pelo teclado. Se alguma vez você já tiver administrado o SharePoint®, é provável que já tenha experimentado algo como uma espécie de sobrecarga em uma interface gráfica. Mas o SharePoint, na verdade, dispõe de um modo mais potente de fazer essas coisas.

A interface primária para o gerenciamento do Windows® SharePoint Services (WSS) e do Microsoft® Office SharePoint Server 2007 (MOSS) é a Administração Central do SharePoint, baseada em GUI. Mas o SharePoint também contém uma ferramenta de linha de comando para proporcionar uma administração mais potente. Essa ferramenta, STSADM.exe, fornece toda a funcionalidade da Administração Central do SharePoint, mais a flexibilidade de linha de comando que muitos administradores desejam. Neste artigo, darei um curso superintensivo sobre o uso de STSADM para gerenciar WSS e MOSS. Também darei algumas dicas sobre como configurar seu ambiente e discutirei alguns comandos comuns de STSADM. Mostrarei, inclusive, alguns comandos avançados de STSADM que podem lhe fazer parecer um herói, caso surja a necessidade de usá-los.

Introdução

Se vocês ainda não conhecem o STSADM, pode ser porque ele esteja mais ou menos enterrado. No Windows SharePoint Services 2.0, ele se encontra em c:\arquivos de programas\arquivos comuns\microsoft shared\web server extensions\60\bin, por padrão. O local padrão na versão 3.0 é c:\arquivos de programas\arquivos comuns\microsoft shared\web server extensions\12\bin.

Para simplificar o acesso a essa ferramenta, usei duas abordagens diferentes. Primeiro, simplesmente adicionei o diretório à minha variável de ambiente PATH. Assim, posso usar o STSADM sempre que estou no sistema de arquivos. Isso, contudo, não é sempre uma opção. Minha segunda abordagem foi criar um atalho para CMD.EXE e definir o local do STSADM como o diretório inicial. Por que não basta apontar um atalho diretamente para o STSADM? Isso não funciona, uma vez que o STSADM não é interativo. Por conseqüência, se você apontar um atalho diretamente ao STSADM, será apresentada apenas uma rápida exibição sobre seu uso.

Para executar o STSADM, é necessário ser membro do grupo Administradores local do servidor Web e executar o aplicativo localmente. Isso significa que não é possível usar o STSADM para administrar remotamente um servidor de SharePoint.

Para saber quais operações podem ser realizadas com o STSADM, digite stsadm.exe -help em um prompt de comando. Lembre-se de verificar essa lista depois de aplicar atualizações e hotfixes ao SharePoint, já que novas operações podem ser adicionadas. Há, ainda, um guia útil para operações de stsadm.exe disponível em go.microsoft.com/fwlink/?LinkId=77516 (em inglês).

Noções básicas sobre STSADM

Vamos começar examinando alguns dos comandos que podem ser usados para ajustar sua instalação de SharePoint existente. É possível usar o STSADM para adicionar funcionalidade ao SharePoint e modificar as definições de configuração.

O STSADM usa o parâmetro -o seguido da operação que você deseja realizar. Apenas digitar STSADM -operationname não vai funcionar. Se, por exemplo, quiser adicionar modelos de site à sua instalação, você poderá usar o seguinte comando:

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

Ou, se quiser adicionar um Pacote de Web Part, poderá usar este comando:

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

Para obter detalhes sobre o uso de qualquer operação, basta transmiti-la sem parâmetros que o STSADM lhe dirá o que espera de entrada. STSADM -help operationname também traz informações sobre o uso.

Ao gerenciar modelos, é possível usar a operação enumtemplates para ver quais modelos foram adicionados e deletetemplate para remover quaisquer modelos instalados. Similarmente, há comandos para trabalhar com pacotes de Web Part. Você pode usar a operação enumwppacks para listar os pacotes de Web Part instalados em cada servidor virtual ou aplicativo Web e deletewppack para remover qualquer um que tenha sido adicionado.

O STSADM também tem duas operações que lidam com configurações do SharePoint: setproperty e getproperty. Executar uma delas sem parâmetros trará uma lista com as propriedades que podem ser exibidas ou manipuladas. Como o próprio STSADM, essa lista muda após atualizações e hotfixes. Não obstante, há algumas propriedades que são mais úteis que outras. A Figura 1 lista algumas das propriedades que convém definir após a instalação do SharePoint, inclusive as propriedades mais comuns a respeito das quais os administradores de SharePoint perguntam.

Figure 1 Configurando propriedades úteis do SharePoint

Propriedade Função
Alerts-enabled Ativa e desativa alertas para seu servidor virtual ou aplicativo Web.
Alerts-limited Especifica se é necessário restringir o número de alertas que os usuários podem configurar no servidor virtual ou aplicativo Web.
Alerts-maximum Se forem definidos limites de alerta, este é o número máximo de alertas que um usuário pode configurar.
Days-to-show-new-icon Define por quanto tempo o ícone “Novo” aparece próximo a itens adicionados ao site, como postagens de anúncios, por exemplo.
Job-immediate-alerts Especifica a freqüência com que o SharePoint busca alertas imediatos a serem enviados. O padrão no SharePoint 2.0 é de cinco minutos. Esse intervalo pode ser ajustado. A diminuição do tempo aumentará a carga em seus servidores Web e de banco de dados; portanto, fique atento a esse respeito se alterar esta propriedade.
Job-daily-alerts Especifica a que horas os alertas diários são enviados. O padrão no SharePoint 2.0 é “entre 22:00 e 06:00”. Se houver usuários em fusos horários diferentes do servidor, convém ajustar esta propriedade.
Job-weekly-alerts Provavelmente, o padrão é visto aqui. Trata-se do agendamento de alertas semanais.

Vamos observar rapidamente o uso de uma dessas propriedades. O seguinte comando fará com que o SharePoint envie alertas imediatos a cada 10 minutos:

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

Observe que usei -pn e -pv, em vez de -propertyname e -propertyvalue. Eles são atalhos aceitáveis para quando você não quiser digitar a palavra inteira. Observe também que todos os exemplos e os comandos que discuti nesta seção funcionam em ambas as versões, 2.0 e 3.0, do Windows SharePoint Services.

Administração diária

Administrar o SharePoint no dia a dia é muito fácil. Para a maioria dos administradores de SharePoint, a carga de tarefas diárias consiste em trabalhar com usuários e sites. O STSADM possui diversas operações para simplificar essas tarefas.

Começarei pelos sites e pelas Webs. Por questão de consistência, usarei “site” para me referir a conjuntos de sites e “Web” para me referir a subsites (também conhecidos como subwebs). Parte da terminologia é confusa, mas, se você manter a consistência com o uso feito pelo STSADM, será mais fácil encontrar os comandos de que necessita.

Se executar uma instalação grande de SharePoint, é provável que você passe um longo período criando novos sites para usuários. Eu sei que me vejo fazendo isso repetidamente. A criação de novos sites pode ser feita facilmente na Administração Central do SharePoint. Porém, como realizo essa tarefa com muita freqüência, acho mais rápido usar o STSADM para fazer o serviço.

Uso a operação createsite. Ela é bastante simples e segue os seguintes parâmetros:

  • url <URL>
  • ownerlogin <DOMÍNIO\nome>
  • owneremail <alguém@exemplo.com\>
  • ownername <nome de exibição>
  • lcid <idioma>
  • sitetemplate <modelo do site>
  • title <título do site>
  • description <descrição do site>
  • quota <modelo de cota>

É possível trazer isso tudo para o prompt de comando digitando stsadm -help createsite (consulte a Figura 2). Desses nove parâmetros, os únicos campos obrigatórios são URL, ownerlogin e owneremail.

Figura 2 Parâmetros Createsite

Figura 2** Parâmetros Createsite **(Clique na imagem para aumentar a exibição)

Se houver sites que você cria rotineiramente, você poderá dar um passo a mais na simplificação do processo, escrevendo um script de invólucro em torno do STSADM para automatizar a tarefa. Por exemplo, para automatizar a criação de sites pessoais, é possível salvar o seguinte em um arquivo de texto denominado createpersonalsite.cmd:

stsadm -o createsite -url http://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"

Em seguida, para criar um site para o usuário jsmith, bastaria executar o seguinte:

createpersonalsite.cmd jsmith

Ao criar scripts para a criação de sites, você economiza muito em digitação e pode verificar se todos os sites recém-criados são consistentes. A operação createweb proporciona a mesma funcionalidade em nível de Web.

No Windows SharePoint Services 2.0, a única maneira fácil de se obter uma lista exaustiva dos conjuntos de sites de um servidor virtual em particular é usar STSADM. Enumsites lista, em formato XML, todos os conjuntos de sites de um servidor virtual ou aplicativo Web específico. Ele pode ser acoplado a uma Web Part de Exibição de Dados, para uma fácil visualização da lista de conjuntos de sites. (Consulte a barra lateral “Trabalhando com uma Web Part de Exibição de Dados” para obter mais informações.)

O STSADM fornece a operação deletesite para, conforme você já deve pressupor, remover sites. Tudo o que você precisa fazer é fornecer o URL. Opcionalmente, é possível transmitir -deleteadaccounts para excluir as contas no Active Directory®. Ao trabalhar com Webs, você usaria a operação deleteweb.

Também é possível adicionar, excluir e enumerar os usuários de um site ou Web. As operações associadas são adduser, deleteuser e enumusers. Essas operações são úteis caso haja a necessidade de os usuários serem adicionados a um site em massa ou caso seja necessário manter uma lista com os usuários que têm acesso a um site para fins de auditoria.

Ao trabalhar com Webs, você tem acesso a uma operação adicional, renameweb, que lhe permite alterar o nome e o URL de uma Web. Por exemplo, para renomear uma Web de “oldname” para “coolnewname”, use:

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

Isso é extremamente importante quando os nomes dos projetos são alterados ou as unidades de negócio são realinhadas. No Windows SharePoint Services 2.0, isso é um grande problema, já que a única forma de migrar Webs é com o SMIGRATE.exe, que não preserva nenhuma configuração relacionada a usuário, como associações ou alertas. Com o Windows SharePoint Services 3.0, isso não chega a ser um problema, já que o STSADM pode fazer o backup e restaurar Webs e sites.

Fazendo o backup e restaurando

Uma das melhores utilidades do STSADM é o backup e a restauração de sites e Webs. Para instalações de pequeno e médio portes, essa funcionalidade pode ser a peça fundamental de um plano de recuperação de desastres. A operação de backup é auto-explicativa e muito fácil de usar. Basta dizer ao STSADM qual site deve receber backup e onde gravar o arquivo de backup, desta maneira:

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

Esta operação despeja todo o conjunto de sites no arquivo site.bak. Ele contém todo o conteúdo dos sites, como Webs, versões de documentos, listas e usuários. Ele não faz backup de nenhuma definição de site ou alteração feita no nível do sistema de arquivos de seus servidores.

Embora a operação de backup seja importante, é melhor ficar atento com alguns empecilhos. Se o site for muito grande, o Banco de Dados de Conteúdo poderá ser bloqueado durante o processo de backup. Isso pode impedir que os usuários acessem os sites desse banco de dados até que a operação de backup seja concluída. Esse problema pode ser atenuado com service packs, mas continua sendo algo merecedor de atenção à medida que seus sites crescerem. O STSADM também usa o diretório temporário do servidor ao fazer backups e restaurações; portanto, monitore o espaço da unidade.

Trabalhando com uma Web Part de Exibição de Dados

É possível acoplar o comando enumsites a uma Web Part de Exibição de Dados para criar um modo fácil de visualizar a lista de conjuntos de sites. Vejamos como.

Primeiro, crie uma tarefa agendada que execute:

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

Verifique se o arquivo XML está sendo gravado em um diretório publicado com IIS, mas não gerenciado pelo SharePoint. Em seguida, use o Microsoft FrontPage® (ou o sucessor do FrontPage, o Microsoft Office SharePoint Designer 2007) para adicionar uma Web Part de Exibição de Dados a uma página de Web Part e aponte-a para o URL do arquivo XML.

A Web Part de Exibição de Dados proporciona funcionalidade como classificação, filtragem e agrupamento. Também é possível transformar o campo URL em um link que leve diretamente para o site. Se, em vez disso, você preferir uma lista de Webs, a operação enumsubwebs fornecerá uma saída XML das subwebs de uma Web ou conjunto de sites.

Finalmente, tenha em mente que, embora os backups do STSADM funcionem bem para sites pequenos e médios, a funcionalidade não é muito bem dimensionada. No caso de sites muito grandes (vários gigabytes ou mais), os processos de backup e de restauração podem ser bastante lentos.

Restaurar um site é igualmente simples. STSADM -o restore apanha um arquivo criado por STSADM -o backup e grava-o em um site no SharePoint. Esse comando proporciona muita flexibilidade: é possível restaurar um site de volta a seu local original (se, por exemplo, o site tiver sido excluído por equívoco), restaurá-lo como um site diferente no mesmo servidor virtual (se você desejar, talvez, testar um processo em um site sem o risco de destruir os dados) ou restaurá-lo em um servidor ou servidor virtual completamente diferente.

Restaurar em um site ou servidor diferente facilita um pouco mais a recuperação de documentos individuais. Se houver o backup de um site e um usuário precisar de um documento restaurado, não será necessário restaurar o site inteiro. Isso sacrificaria todas as alterações feita ao site desde o armazenamento do backup. Em vez disso, você pode simplesmente restaurar o site em um URL diferente, apanhar os documentos e salvá-los de volta no site original.

No Windows SharePoint Services 2.0, o STSADM tem uma limitação bastante grave. Ao fazer backups, ele só consegue lidar com sites; e não com Webs. Os administradores demonstraram seu descontentamento e a Microsoft respondeu. No Windows SharePoint Services 3.0, as operações de backup e restauração, agora, manipulam Webs. Ele também traz dois novos comandos: import e export.

Para exportar uma Web, use o seguinte comando simples:

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

A exportação tem opções úteis, inclusive a chave -versions. Ela lhe permite decidir o tamanho dos arquivos de backup, restringindo as versões do arquivo que receberá o backup.

Para importar uma Web de volta para o servidor, use o seguinte comando simples:

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

Se seu site for muito grande, o arquivo de backup pode ser dividido em vários componentes. Nesse caso, aponte STSADM -o import para o primeiro arquivo que ele apanhará, automaticamente, os arquivos subseqüentes.

Operações de especialistas

Agora que você já está confortável como STSADM, eu gostaria de lhe mostrar algumas operações que podem ser usadas para sair de uma ligação. A primeira é um operação recém-adicionada, denominada migrateuser. A versão 2.0 não é sincronizada com o Active Directory. Se uma conta for renomeada, ela não poderá mais se registrar no SharePoint. No passado, também não havia um modo de migrar acesso de usuário de um usuário de domínio para outro. Antes do Windows SharePoint Services 2.0 Service Pack 2 (SP2), era preciso remover o usuário de cada Web e adicioná-lo manualmente à nova conta.

O SP2 introduziu uma nova API e o STSADM a aproveita. Se a conta jsmith for renomeada para jjones, você poderá usar o seguinte comando:

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

Já que você não está, na realidade, migrando contas, é possível ignorar o histórico de SID (identificador de segurança) do Windows. Observe que esse comando não requer um URL. Ele faz a alteração em todos os bancos de dados de conteúdo, sem observar sites ou Webs.

Uma outra operação que pode tirá-lo de uma ligação é unextendvs. Se não quiser que o SharePoint processe um servidor virtual ou aplicativo Web, cancele a sua extensão. Normalmente, isso seria feito por meio do Analisador de Configuração do SharePoint. Todavia, em um Web farm, o Analisador de Configuração do SharePoint requer que todos os seus servidores estejam no mesmo nível de correção. É possível que um servidor esteja fora de sincronia com o resto do farm e, portanto, não obtenha a opção de cancelamento de extensão no Analisador de Configuração do SharePoint. Contudo, ao usar STSADM, o seguinte comando cancelará a extensão de seu servidor virtual:

Stsadm -o unextendvs -url http://localhost

Com o servidor retirado do Web farm, é possível realizar a manutenção necessária.

No que diz respeito a Web farms, por questão de facilidade administrativa, convém que todos os servidores tenham o Analisador de Configuração do SharePoint na mesma porta. A porta é gerada aleatoriamente quando o SharePoint é instalado, mas o STSADM contém uma operação para alterá-la para uma outra que você especificar:

Stsadm -o setadminport -port 1026

Isso faz com que todas as alterações necessárias de banco de dados sejam efetuadas, altera o IIS e ajusta o atalho para o Analisador de Configuração do SharePoint nas Ferramentas Administrativas.

Conclusão

O Windows SharePoint Services é uma solução potente, que exige administração eficaz. O STSADM proporciona um modo de efetuar a administração do SharePoint, inclusive a automação da configuração e de tarefas comuns diárias. Na verdade, às vezes é a única forma de fazer o serviço.

Todd Klindt é analista de sistemas da UGS, onde brinca com o SharePoint o dia inteiro – e ainda recebe por isso. Também é MVP do Windows SharePoint Services e aquariano.

© 2008 Microsoft Corporation e CMP Media, LLC. Todos os direitos reservados. A reprodução parcial ou completa sem autorização é proibida..