Começando com o Gerenciamento do SharePoint no PowerShell

O centro de administração do SharePoint te entedia, acha-o insuficiente e quer mudar para a linha de comando? Sim, é possível com o módulo PowerShell SharePoint Online Management.

Este módulo permite que você realize as mesmas tarefas que normalmente faz no centro de administração do SharePoint no PowerShell. Além disso, você pode automatizar suas tarefas do SharePoint Online!

Este tutorial ensina o básico do PowerShell SharePoint Online Management. Você aprenderá a instalar o módulo, realizar tarefas administrativas comuns e automatizar ações repetitivas. Não saia daí e mergulhe de cabeça!

Pré-requisitos

Este tutorial será uma demonstração prática. Se você quiser acompanhar, certifique-se de ter o seguinte:

  • Você deve conhecer a URL do administrador do SharePoint Online e a URL do portal. Consulte este link para saber como obter a URL do administrador do SharePoint Online em seu locatário.

Este tutorial usará a URL do portal HTTPS://lzex.sharepoint.com e a URL do administrador HTTPS://lzex-admin.sharepoint.com.

  • Windows PowerShell 5.1 ou a mais recente PowerShell 7 no Windows. Este tutorial utiliza o Windows PowerShell 5.1 no Windows 10.

Instalando o Módulo do SharePoint Online para PowerShell

Para gerenciar o SharePoint Online com o PowerShell, você deve primeiro instalar o módulo PowerShell SharePoint Online Management. Este módulo fornece os cmdlets que permitem conectar e gerenciar sua organização e recursos do SharePoint online.

A maneira mais rápida e conveniente de instalar o módulo do PowerShell SharePoint Online é através da galeria do PowerShell, usando o cmdlet Install-Module. Para fazer isso, siga as etapas abaixo.

1. Abra o PowerShell como administrador.

2. Execute o comando abaixo em seguida. Este comando instala o módulo Microsoft.Online.SharePoint.PowerShell.

Install-Module -Name Microsoft.Online.SharePoint.PowerShell

3. Para confirmar que a instalação do módulo foi bem-sucedida, execute o comando abaixo para obter informações sobre o módulo.

Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select-Object Name,Version

O comando retorna o nome e a versão do módulo. Como você pode ver abaixo, há uma versão do módulo Microsoft.Online.SharePoint.PowerShell neste computador. A versão mais recente, até o momento desta escrita, é 16.0.22615.12000.

Listing the PowerShell SharePoint Online module information

Por último, importe o módulo do SharePoint do PowerShell executando o comando abaixo no PowerShell.

Nota: Embora o módulo do SharePoint Online do PowerShell funcione com o PowerShell 7, você deve importar explicitamente o módulo com o switch -UseWindowsPowerShell.

# No Windows PowerShell 5.1
Import-Module Microsoft.Online.SharePoint.PowerShell

# No PowerShell 7x
Import-Module Microsoft.Online.SharePoint.PowerShell -UseWindowsPowerShell

Ignore o aviso sobre verbos não aprovados. Este aviso alerta sobre cmdlets que não começam com verbos aprovados na lista Get-Verb, mas não afetam a funcionalidade do módulo.

Para evitar este aviso, acrescente o switch -DisableNameChecking ao cmdlet Import-Module.

Importing the PowerShell SharePoint Online module

Conectando ao PowerShell SharePoint Online

Agora você está pronto para se conectar à sessão do PowerShell SharePoint Online. Mas antes de fazer isso, entenda que a sintaxe e o método podem variar dependendo do status de autenticação multifator da sua conta de administrador.

Conta de Administrador sem MFA

Se sua conta de administrador não estiver habilitada para MFA, execute o comando abaixo Connect-SPOService. Especifique sua URL de administrador após o parâmetro -Url e seu nome principal de usuário (UPN) após o parâmetro -Credential.

Connect-SPOService -Url <https://tenant-admin.sharepoint.com/> -Credential spoadmin@domain.com

Digite sua senha no próximo prompt e pressione Enter.

Connect SPOService
Connecting to PowerShell SharePoint online without MFA

O parâmetro -Credential também aceita um objeto PSCredential, que você pode criar com o cmdlet Get-Credential.

Conta de Administrador com MFA

Para uma conta de administrador com MFA, siga as etapas abaixo para se conectar à sessão do PowerShell no SharePoint Online.

1. Execute o comando abaixo no PowerShell. Certifique-se de especificar a URL correta do administrador do SharePoint.

Connect-SPOService -Url https://tenant-admin.sharepoint.com/

2. Na janela de login que aparece, digite o nome de usuário do administrador e clique em Avançar.

Type the SharePoint admin username

3. Em seguida, digite a senha da conta de administrador e clique em Entrar.

Enter the account password

4. Finalmente, conclua o desafio MFA. Dependendo de como você configurou o MFA para sua conta, o método MFA pode diferir da captura de tela abaixo.

Completing the MFA challenge

Depois de concluir essas etapas, sua conexão do PowerShell no SharePoint online deve estar ativa agora.

Gerenciando Sites, Usuários e Grupos usando o Módulo PowerShell do SharePoint

Através do PowerShell, você pode realizar algumas funcionalidades que o SharePoint oferece para o SharePoint Online e vários recursos. Nesta seção, você realizará tarefas típicas do SharePoint Online, como criar sites, criar grupos, adicionar usuários, remover usuários de grupos e gerar relatórios de usuários.

Criando um Novo Site do SharePoint

Aproveitando o comando New-SPOSite, você pode criar um novo site do SharePoint Online. Se você estiver criando um novo site moderno do Team Site chamado Meu Primeiro Site da Equipe, execute as seguintes etapas.

1. Primeiro, obtenha o nome do modelo do Team Site.

Get-SPOWebTemplate

Procure o modelo que deseja aplicar ao novo site. Neste exemplo, copie o valor de Nome do modelo de site de Equipe (sem grupo do Microsoft 365), STS#3.

Listing all available SharePoint web templates

2. Agora, execute o comando abaixo para criar o Site de Equipe moderno. Certifique-se de que os seguintes parâmetros estejam completos.

  • Url - Especifica a URL do novo site. A estrutura desta URL segue esta convenção - HTTPS://<tenant>.sharepoint.com/sites/<site-slug>.

Garanta que a URL seja única. A criação do site falhará se um site com a mesma URL já existir, mesmo que o site esteja na lixeira.

  • Título – Define o título para o novo site.
  • Proprietário - Atribui o nome principal do usuário do proprietário do site.

Nota: O SPO define automaticamente o grupo de Administradores da Empresa como o proprietário do site se o proprietário que você especificar tiver uma função de administrador.

  • Modelo – Indica o modelo da web que você está aplicando ao novo site.
  • Cota de Armazenamento - Configura o valor da cota de armazenamento do site em MB.

Nota: O valor da Cota de Armazenamento só entra em vigor se o Limite de Armazenamento do Site na sua organização do SharePoint Online estiver definido como Manual. Se a configuração for Automática, a cota de armazenamento total do inquilino terá prioridade.

New-SPOSite `
    -Url 'https://lzex.sharepoint.com/sites/MyFirstTeamSite' `
    -Title 'My First Team Site' `
    -Owner '[email protected]' `
    -Template 'STS#3' `
    -StorageQuota 1000

Se a criação do site for bem-sucedida, você não receberá nenhuma resposta ou mensagem no PowerShell.

Confirme que o novo site existe executando o cmdlet Get-SPOSite.

Get-SPOSite -Identity 'https://lzex.sharepoint.com/sites/MyFirstTeamSite'
Getting the new SPO site details

Por último, abra a URL do site do SharePoint no seu navegador da web para confirmar se o site está funcionando.

Opening the new SPO site in the browser

Criando Grupos de Site e Adicionando Usuários

Após criar um novo site do SPO, você pode começar a criar grupos e adicionar usuários com níveis de permissão específicos. Nesta seção, você aprenderá como criar grupos e adicionar usuários a esses grupos.

Primeiro, crie os grupos conforme as especificações na tabela abaixo.

Para obter uma lista de níveis de permissão, visite a documentação Permissões do usuário e níveis de permissão no SharePoint Server.

Site Group PemissionLevels
https://tenant.sharepoint.com/sites/MyFirstTeamSite Editing Team Edit
https://tenant.sharepoint.com.sites/MyFirstSite Design Team Design

Para criar grupos, o cmdlet New-SPOSiteGroup é o comando a ser executado. Execute os comandos abaixo para criar os grupos.

# Defina a URL do site.
$siteURL = '<https://lzex.sharepoint.com/sites/MyFirstTeamSite>'
# Crie o grupo 'Equipe de Edição' com permissão 'Editar' no site.
New-SPOSiteGroup -Site $siteURL -Group 'Editing Team' -PermissionLevels Edit
# Crie o grupo 'Equipe de Design' com permissão 'Design' no site.
New-SPOSiteGroup -Site $siteURL -Group 'Design Team' -PermissionLevels Design
Creating new groups on the SPO site

Em seguida, adicione os usuários que deseja ser membros dos grupos. Para fazer isso, execute os comandos Add-SPOUser abaixo.

# Adicione um usuário ao grupo de site 'Equipe de Edição'
Add-SPOUser -Site $siteURL -Group 'Editing Team' –LoginName spoeditor@lzex.ga
# Adicione um usuário ao grupo de site 'Equipe de Design'
Add-SPOUser -Site $siteURL -Group 'Design Team' –LoginName spodesigner@lzex.ga

Após cada execução de comando, você receberá resultados semelhantes à captura de tela abaixo.

Adding users to SPO site groups

Gerando uma Lista de Usuários do Site

Aproveitando o comando Get-SPOUser, você pode gerar quais usuários podem acessar o site.

Execute o comando abaixo para gerar a lista de usuários no Meu Primeiro Site da Equipe.

Get-SPOUser -Site <https://lzex.sharepoint.com/sites/MyFirstTeamSite> | Format-Table -Wrap -AutoSize | Out-File <path-to-savereport> -Force -Width 360 -Append

O resultado seria semelhante à captura de tela abaixo. Como você pode ver, a saída mostra a lista de usuários e suas associações a grupos.

Getting the list of users on the SPO site

Você também pode enviar os resultados para diferentes tipos de arquivo, incluindo CSV, XML, JSON, YAML, HTML e texto simples.

Removendo Usuários de Grupos do Site

Você pode precisar remover um usuário, provavelmente porque adicionou o usuário ao grupo errado ou o usuário não está mais na equipe. O cmdlet Remove-SPOUser é a ferramenta certa para esta tarefa.

Por exemplo, execute o comando abaixo para remover o usuário [email protected] do Design Teow.

Remove-SPOUser `
    -LoginName spodesigner@lzex.ga `
    -Site <https://lzex.sharepoint.com/sites/MyFirstTeamSite> `
    -Group 'Design Team'

Como você pode ver, a lista de Usuários no Design Team está agora vazia após remover seu único membro.

Removing a user for the SPO site group

Usando o PowerShell do SharePoint Online para Automação

Como você está trabalhando com o PowerShell, pode aproveitar seu poder para automação. Por exemplo, a criação de scripts seria uma abordagem mais prática ao criar vários sites.

Você pode combinar o comando New-SPOSite do PowerShell SharePoint Online com comandos integrados como Import-Csv e ForEach-Object. Os passos a seguir fornecem um exemplo de criação de vários sites com propriedades diferentes.

1. Execute o comando abaixo para criar um novo arquivo CSV chamado sites.csv.

New-Item -Type File -Path .\sites.csv

2. Em seguida, abra o arquivo CSV em um editor de texto. Este exemplo usa o notepad.exe.

notepad.exe .\sites.csv

3. Copie o texto abaixo para o seu arquivo CSV e salve. Certifique-se de substituir os valores de Proprietário e URL para corresponder à sua organização.

Owner,StorageQuota,Url,Template,Name
spoadmin@lzex.ga,100,https://lzex.sharepoint.com/sites/new-site,STS#0,Novo Site
ata_dev@lzex.ga,100,https://lzex.sharepoint.com/sites/dev-site,DEV#0,Site de Desenvolvimento

Seu arquivo CSV ficaria semelhante à captura de tela abaixo.

Creating the CSV list of new sites

4. Execute o seguinte script no PowerShell.

Import-Csv .\sites.csv | ForEach-Object {
    New-SPOSite `
        -Owner $_.Owner `
        -StorageQuota $_.StorageQuota `
        -Url $_.Url `
        -Template $_.Template `
        -Title $_.Name `
        -NoWait
}

Se não houver erros, você não obterá resultados adicionais na tela.

Creating multiple sites using the PowerShell SharePoint online script

5. Por fim, execute o comando a seguir para confirmar a existência dos novos sites.

Import-Csv .\sites.csv | ForEach-Object {
    Get-SPOSite -Identity $_.Url | Select-Object Title,Url,Owner
}
Listing the new sites

Você pode aplicar a mesma técnica que acabou de executar para automatizar tarefas em massa, como a criação de grupos de sites e a atualização de associações de grupos de sites.

Conclusão

O módulo PowerShell do SharePoint Online permite que você melhore como você gerencia sua organização do SharePoint Online. Este módulo não se destina a substituir o centro de administração do SharePoint, mas sim a ser uma ferramenta para aumentar suas habilidades no SharePoint Online.

Além do módulo PowerShell do SharePoint Online, você sabia que outro módulo permite que você gerencie o SharePoint Online no PowerShell? Sim, esse módulo é o módulo PnP PowerShell. Por que você não explora também esse módulo e compara qual funciona melhor para você?

Source:
https://adamtheautomator.com/powershell-sharepoint/