quinta-feira, 19 de junho de 2014

SharePoint - PS Script para executar scripts remotamente em todos os servidores do Farm

O script chama o script definido na variável $PS, remotamente em todos os servidores do Farm do SharePoint.

Script:

Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
Write-Host -foregroundcolor Red "Executing $script on all servers in FARM $farm"

$farm = get-spfarm
$PS = Read-Host “Please provide the file path e.g. "c:\psscripts\script.ps1"

foreach ($server in $farm.servers)
{
 if($server.Role -ne "Invalid")
  {
   invoke-command -computername $server.name -$filepath
  }
}


terça-feira, 17 de junho de 2014

SharePoint - PowerShell Script para executar o IISReset em todos os servidores do Farm


O script executará o IISRESET em todos os servidores do Farm do SharePoint. Eu poderia ter utilizado o velho IISRESET <nomedoservidor>, que funcionaria da mesma forma, porém poderia resultar na seguinte mensagem:

The RPC server is unavailable.


Script:

Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
Write-Host -foregroundcolor Red "Restarting IIS on all the servers in FARM $farm.farm"

$farm = get-spfarm

foreach ($server in $farm.servers)
{
if($server.Role -ne "Invalid")
{
Write-Host -ForegroundColor Red "Attempting to reset IIS on $server"
invoke-command -computername $server.name -scriptblock {iisreset}
Write-Host -foregroundcolor Green "IIS status on server $server"
invoke-command -computername $server.name -scriptblock {iisreset /status}
}
}



sexta-feira, 13 de junho de 2014

SharePoint 2013: Fluxos de trabalho ignoram permissões atribuídas por meio de grupos de segurança do AD


Eu observei esses dias um comportamento interessante nos fluxos de trabalho do Workflow Manager – os mesmos ignoram (aparentemente) permissões atribuídas por grupos de segurança do AD no SharePoint, que é uma pratica recomendada pela MS.

Temos as seguintes mensagens na interface:

Inglês:

HTTP 401 {"error":{"code":"-2147024891, System.UnauthorizedAccessException","message":{"lang":"en-US","value":"Access denied. You do not have permission to perform this action or access this resource."}}}

Português:

HTTP 401 {"error":{"code":"-2147024891, System.UnauthorizedAccessException","message":{"lang":"pt-BR","value":"Acesso negado.
Você não tem permissão para executar esta ação ou acessar este recurso."}}}

E os seguintes eventos foram identificados nos logs do SharePoint (Verbose):

1.       SharePoint Foundation                Claims Authentication   af32v     Verbose              Claims Windows Sign-In: Sending 401 for request <URL> because the user is not authenticated and resource requires authentication.
2.       SharePoint Foundation                Claims Authentication   af32v     Verbose              Claims Windows Sign-In: Sending 401 for request <URL>/_vti_bin/client.svc/web/lists/getbyid(guid'<GUID>')/Items?$filter=GUID+eq+<GUID> '' because the request is not from a browser.

SharePoint necessita o perfil do usuário no aplicativo de serviço “User Profile Service Application” para autenticar o usuário representado pelo fluxo de trabalho. E nesse caso especifico ser sincronizado com a OU que contém o grupo de segurança em questão.

Obs.: Você precisará sincronizar os perfis novamente se um novo usuário for adicionado ao grupo.