Como instalar o ambiente do PowerShell e PnP para o Sharepoint Online

Descrição sobre como preparar o seu ambiente PowerShell PnP, para poder rodar os scripts de automação criados pelo Workhub.

Requisitos dos Scripts

  • PowerShell na versão 7.x ou superior

  • PnP PowerShell na versão 1.7.x ou superior

Instalação/atualização do PowerShell para versão 7.x

$PSVersionTable
PSVersion mostra a versão do PS. Neste caso, ela deve ser atualizada para 7.x

ATENÇÃO: Este comando instala a ultima versão do PowerShell no seu computador e scripts que são baseados em versões anteriores do PowerShell e/ou PnP podem parar de funcionar. Por favor, consulte a sua TI antes de executar qualquer comando de atualização ou instalação de uma nova versão do PnP ou PowerShell.

Instalação/atualização do PnP PowerShell (PnP)

  • Abra uma janela do PowerShell em sua máquina, como administrador (para realizar este passo, você pode digitar "powershell" no seu menu iniciar do Windows)

  • Verifique a versão atual do seu PnP usando o comando abaixo:

Get-Module *pnp* -ListAvailable | Select-Object Name,Version | Sort-Object Version -Descending
  • Caso o PnP.PowerShell esteja abaixo da versão esperada, você pode atualiza-lo rodando o comando abaixo, em uma janela do PowerShell:

Install-Module -Name "PnP.PowerShell" -AllowClobber

Caso o PnP.PowerShell esteja abaixo da versão esperada, você pode atualiza-lo rodando o comando abaixo, em uma janela do PowerShell:

ATENÇÃO: Este comando instala a ultima versão do PnP no seu computador e scripts que são baseados em versões anteriores do PnP podem parar de funcionar. Por favor, consulte a sua TI antes de executar qualquer comando de atualização ou instalação de uma nova versão do PnP ou PowerShell.

Instalação da biblioteca necessária para criação de usuários

Caso você pretenda rodar o script de cadastro de usuários, é necessária a instalação de uma biblioteca adicional, chamada AzureAD. Para instala-la, basta rodar o comando abaixo, na janela do PowerShell:

Install-Module AzureAD

Como dar permissões para um usuário usar o PowerShell PnP e acesse o meu Sharepoint Online?

Para que seja possível executar scripts PowerShell PnP conectando ao Sharepoint Online, é necessário permitir o uso do PowerShell para o usuário que será utilizado para rodar os scripts.

Isto pode ser feito abrindo uma janela de PowerShell (como administrador) na máquina e rodando o comando abaixo.

O PowerShell vai pedir o usuário e senha que deve ser autorizado a rodar scripts (este será o usuário que usaremos posteriormente, para rodar os scripts). Em seguida, caso o usuário e senha estejam corretos, será exibida uma URL (que tem um tempo de expiração de 1 hora) para que seja enviado para um Administrador Global, para que este aprove a utilização do PowerShell por este usuário.

Quando este administrador acessar o link, usando seu login e senha, ele será apresentado com uma tela explicando qual permissão está sendo concedida.

Register-PnPManagementShellAccess -ShowConsentUrl

ATENÇÃO: Este comando instala habilita/permite o uso do PowerShell para gerenciar o seu ambiente Sharepoint Online. Ele ainda precisa ser autorizado em uma tela adicional, que será exibida, por um administrador com poderes para tanto. Porém, por favor, consulte a sua TI antes de executar qualquer comando de PowerShell, como o descrito acima.

Como permitir que scripts não assinados digitalmente rodem no meu ambiente?

Para isto, basta rodar o comando abaixo, no PowerShell

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

Após a instalação do ambiente, como testar se está tudo ok?

Depois de ter seguido os procedimentos de preparação do ambiente, precisamos testar tudo conectando no ambiente Sharepoint Online, usando o PowerShell. Para tanto, siga o procedimento abaixo:

  • Abra uma janela do PowerShell (como administrador)

  • Rode o comando abaixo, alterando o endereço do site e fornecendo as credenciais de acesso no momento em que elas foram solicitadas

  • Veja se a conexão é efetuada com sucesso (ou se ocorre algum erro)

  • Caso a conexão seja efetuada com sucesso, então, o ambiente está validado e pronto para rodarmos os scripts Workhub!

Connect-PnPOnline -Url "https://NomeDoTenant.sharepoint.com" -UseWebLogin

Como forçar o uso do PnP 2.5 ou outra versão?

Para forçar o uso de uma determinada versão do PnP, você pode usar o comando abaixo, especificando a versão desejada.

Import-Module PnP.PowerShell -RequiredVersion 2.5.0 -Force

Para verificar a versão sendo usada no momento:

(Get-Module PnP.PowerShell).Version

Site com a documentação oficial do PowerShell

https://docs.microsoft.com/en-us/powershell/scripting/overview?view=powershell-7.1

Site com a documentação oficial do PowerShell PnP

https://pnp.github.io/powershell/index.html

Last updated