quarta-feira, 11 de junho de 2014

Identificar métodos e propriedades de uma variável no PowerShell

Ao administrar o SharePoint usando o PowerShell, em alguns casos você quer manipular uma Service Application um Serviço ou qualquer coisa que possa ser colocado numa variável, porém não conhece os métodos que podem ser utilizados para controla-la.
Usando os comandos abaixo você poderá identifica-los.

Neste exemplo uso um Service Application mas poderia ser qualquer entidade dentro do SharePoint.
Você precisará do ID, para obtê-lo execute o comando abaixo:
Get-SPServiceApplication

A saída será algo como essa abaixo:











Execute o comando abaixo para atribuir à variável $s a Service Application "Secure Store Service" de ID "ca836dfa-20ac-4d0f-afd4-0788b4f21269":
$s = Get-SPServiceApplication ca836dfa-20ac-4d0f-afd4-0788b4f21269

Executando o comando abaixo você verá todos os métodos e propriedades relativos à variavel $s:
$s | Get-Member









Obs: A lista completa é bem maior do que a apresentada acima

Para melhor visualização você pode usar a um "pipe" adicional:
$s | Get-Member | Out-GridView












Obs.: O formatador out-gridview só funciona se a feature "Windows PowerShell Integrated Scripting Environment (ISE) estiver instalada no servidor

Alguns métodos com o Provision/Unprovision em geral funcionam sem parametros então você pode utiliza-los como no exemplo abaixo:
$s.Provision()
$s.UnProvision()

Explore os alguns métodos e propriedades, você pode encontrar algumas coisas úteis ao seu dia-a-dia ou a resolução de problemas.

terça-feira, 10 de junho de 2014

Alterar a senha das contas gerenciadas do SharePoint via PowerShell

Se alguém na sua organização mudar a senha das contas de serviço (chamadas contas gerenciadas) direto no Active Directory (AD). Você pode chegar numa situação que a Central de Administração irá parar de funcionar, bem como todos os sites e recursos que tenham essa conta configurada em seu respectivo application pool.

Nesta situação a melhor forma de se resolver é sem dúvida mudando a senha da conta gerenciada usando o PowerShell do SharePoint. Os comandos abaixo são um exemplo de como fazê-lo:
$conta = Get-SPManagedAccount -Identity “dominio\svc-spadm”
Set-SPManagedAccount -Identity $conta  -ExistingPassword (ConvertTo-SecureString "pass@word" -AsPlainText -force) -confirm

Obs1.: Nesse exemplo dominio\svc-spadm é a conta e pass@word é a senha.
Obs2.: Pode ser necessário executar isso em todos os servidores da sua farm.

A senha no exemplo anterior é a aquela que foi configurada no AD previamente, esse comando não muda a senha no AD. Se você desejar mudar a senha da farm usando o SharePoint, a senha atual necessariamente precisa estar correta, e então você deve usar o comando abaixo:
Set-SPManagedAccount -Identity $conta  -NewPassword (ConvertTo-SecureString "pass@word" -AsPlainText -force) -confirm

Se você for executar fora do PowerShell do SharePoint será necessário adicionar o Snap-in do SharePoint antes de executar os comando acima, para adicioná-lo use o comando abaixo:
Add-PSSnapin Microsoft.SharePoint.PowerShell -EA silentlycontinue


Mais informações sobre boas práticas a respeito de como alterar as contas e senhas dos serviços do SharePoint você pode encontrar nos artigos abaixo: