Ir ao conteúdo

Posts recomendados

Postado

Bom dia,

 

Estou com uma necessidade na minha empresa, gostaria de automatizar um processo de bloqueio no Azure de usuários desligados.

 

A ideia seria bloquear a conta no Active Directory (on-premises), porém, para isso funcionar eu necessito primeiro listar no Azure Active Directory os usuários que não fazem sign-in não interativo a mais de X dias, pois tenho usuários que não possuem dispositivo no domínio da empresa, porém, utilizam o pacote office (outlook, onedrive, sharepoint, teams, etc)

 

Procurei pela internet e cheguei à esse script PowerShell, porém, esse script ainda está listando usuários que eu tenho certeza que fazem sign-in pelo celular.

 

#Instalação do módulo MSOnline para gerência do M365
Install-Module -Name MSOnline -AllowClobber -Force -Verbose

#Iniciar o módulo
Import-Module -Name MSOnline

#Conectar no módulo de gerência do M365
Connect-MsolService

#Instalar o módulo de gerência do Exchange Online
Install-Module -Name ExchangeOnlineManagement -Force -Verbose

#Importar o módulo de gerência do Exchange Online
Import-Module ExchangeOnlineManagement

#Conectar ao módulo de gerênciamento do Exchange Online
Connect-ExchangeOnline -UserPrincipalName meuemail@meudominio.com

#Define a quantidade de tempo que irá utilizar para a condição de verificação
$startDate = (Get-Date).AddDays(-90).ToString('MM/dd/yyyy')
$endDate = (Get-Date).ToString('MM/dd/yyyy')

#Verificar somente os usuários que estão habilitados
$allUsers = @()
$allUsers = Get-MsolUser -All -EnabledFilter EnabledOnly | Select UserPrincipalName

#Busca os usuários de acordo com as variáveis de data inicial e data final definidas na linha 23
$loggedOnUsers = @()
$loggedOnUsers = Search-UnifiedAuditLog -StartDate $startDate -EndDate $endDate -Operations UserLoggedIn, PasswordLogonInitialAuthUsingPassword, UserLoginFailed -ResultSize 5000

#Cria uma lista com o resultado da busca (variável na linha 32)
$inactiveInLastSixMonthsUsers = @()
$inactiveInLastSixMonthsUsers = $allUsers.UserPrincipalName | where {$loggedOnUsers.UserIds -NotContains $_}

#Escreve o resultado na tela
Write-Output "The following users have no logged in for the last 180 days:"
Write-Output $inactiveInLastSixMonthsUsers

#Gera a lista dos usuários em csv
$inactiveInLastSixMonthsUsers
$inactiveInLastSixMonthsUsers > "C:\Temp\InactiveUsers90.csv"

#Desconecta da sessão
Disconnect-ExchangeOnline -Confirm:$false

 

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

curso-hardware-popup.jpg

LANÇAMENTO:
CURSO DE HARDWARE
DO GABRIEL TORRES!

CLIQUE AQUI E CONFIRA!