Começando com o Gerenciamento do SharePoint no PowerShell

O centro de administração do SharePoint o aborrece, acha que ele é 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 deseja acompanhar, certifique-se de ter o seguinte:

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

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

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

Instalando o Módulo do PowerShell para o SharePoint Online

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 que você se conecte e gerencie sua organização e recursos online do SharePoint.

A maneira mais rápida e conveniente de instalar o módulo do PowerShell para o 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 as informações do 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 última versão 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 PowerShell SharePoint Online funcione com o PowerShell 7, você deve importar explicitamente o módulo com o switch -UseWindowsPowerShell.

# No PowerShell do Windows 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, adicione o switch -DisableNameChecking ao cmdlet Import-Module.

Importing the PowerShell SharePoint Online module

Conectando ao PowerShell do SharePoint Online

Agora você está pronto para se conectar à sessão do PowerShell do 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 conectar à sessão do SharePoint Online do PowerShell.

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

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

2. Na janela de login que aparecer, digite seu nome de usuário de 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. Por fim, conclua seu desafio de MFA. Dependendo de como você configurou o MFA para sua conta, o método de MFA pode ser diferente da captura de tela abaixo.

Completing the MFA challenge

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

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

Através do PowerShell, você pode realizar algumas funcionalidades que o SharePoint fornece ao SharePoint Online e vários recursos. Nesta seção, você estará realizando 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. Suponha que você esteja criando um novo site moderno do tipo Equipe chamado Meu Primeiro Site de Equipe, execute as seguintes etapas.

1. Primeiro, obtenha o nome do modelo de Site de Equipe.

Get-SPOWebTemplate

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

Listing all available SharePoint web templates

2. Agora, execute o comando abaixo para criar o site da 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://<inquilino>.sharepoint.com/sites/<slug-do-site>.

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

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

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

  • Modelo – Indica o modelo da web que está sendo aplicado ao novo site.
  • CotaDeArmazenamento - Configura o valor da cota de armazenamento do site em MB.

Nota: O valor da CotaDeArmazenamento só tem efeito se o Limite de Armazenamento do Site na sua organização do SharePoint Online estiver configurado como Manual. Se a configuração for Automática, a cota de armazenamento total do inquilino terá precedência.

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á resposta ou mensagem no PowerShell.

3. 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

Criar Grupos de Site e Adicionar Usuários

Após criar um novo site SPO, você pode começar a criar grupos e adicionar usuários com níveis específicos de permissão. 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 de 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 que você deve executar. 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 você deseja que sejam membros dos grupos. Para fazer isso, execute os comandos Add-SPOUser abaixo.

# Adicione um usuário ao grupo do site 'Equipe de Edição'
Add-SPOUser -Site $siteURL -Group 'Editing Team' –LoginName spoeditor@lzex.ga
# Adicione um usuário ao grupo do 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

Usando 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 salvar os resultados em 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 o adicionou ao grupo errado ou o usuário não está mais na equipe. O cmdlet Remove-SPOUser é a ferramenta certa para essa tarefa.

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

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 agora está 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 como criar 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 do Proprietário e Url de acordo com a 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 ficará 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 receberá resultados adicionais na tela.

Creating multiple sites using the PowerShell SharePoint online script

5. Por fim, execute o seguinte comando 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 realizar para automatizar tarefas em massa, como a criação de grupos de sites e atualizações de associação a grupos de sites.

Conclusão

O módulo PowerShell do SharePoint Online permite que você melhore como 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 como uma ferramenta para aprimorar 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/