Exportujte sestavu neaktivních uživatelů Microsoft 365

Chcete najít všechny neaktivní uživatele Microsoft 365. Udržování uživatelských účtů aktivních, když neprobíhá žádná aktivita, nepřináší žádnou výhodu. Neaktivní uživatelské účty se stávají snadným cílem hackerů a měli byste tyto účty deaktivovat. V tomto článku se dozvíte, jak exportovat sestavu neaktivních uživatelů Microsoft 365.

Neaktivní uživatel Microsoft 365 je, když se uživatel posledních několik dní nepřihlásil. To se může u každé organizace lišit. Někteří zjišťují, že neaktivní účet je platný, pokud se během posledních 60 nebo 90 dnů neprovede žádné přihlášení. Někteří zjistí, že je to 30denní lhůta.

TheCentrum pro internetovou bezpečnost (CIS)doporučuje smazat nebo deaktivovat všechny nečinné účty po období 45 dnů nečinnosti, pokud je to podporováno.

Vidět5.3: Zakažte spící účty.

Důležité:K zobrazení data posledního přihlášení potřebujete licenci Microsoft Entra ID P1 nebo P2.

Zkontrolujte datum posledního přihlášení uživatele v centru pro správu Microsoft 365

Chcete-li zkontrolovat datum posledního přihlášení uživatele Microsoft 365 v centru pro správu Microsoft 365, postupujte takto:

  1. Přihlaste se doCentrum pro správu Microsoft 365
  2. RozšířitUživatelé
  3. Klikněte naAktivní uživatelé
  4. VyberteUživatel
  1. Klikněte naÚčet > Zobrazit posledních 30 dní
  1. Zobrazí se datum posledního přihlášení, stav a důvod selhání (pokud je k dispozici).

Co když chcete exportovat stav posledního přihlášení všech uživatelů? PowerShell na záchranu.

Exportujte skript PowerShellu pro neaktivní uživatele Microsoft 365

Skript PowerShell Export-M365InactiveUsers.ps1 získá všechny uživatele Microsoft 365/Microsoft Entra ID a exportuje zprávu do souboru CSV, který ukazuje, kolik dní uplynulo od jejich posledního přihlášení.

Poznámka:TheLastSuccessfulSignInDatehodnota se v přehledu začne objevovat do 6 hodin. Data pro tuto službu nejsou zálohována a přihlášení začnou zaznamenávat po 1. prosinci 2023.

Pro každého uživatele shromažďuje následující informace:

  1. Id
  2. UserPrincipalName
  3. DisplayName
  4. E-mail
  5. UserType
  6. AccountEnabled
  7. LastSuccessfulSignInDate
  8. Dny od posledního přihlášení
  9. CreatedDateTime
  10. Je licencováno

Připravte skript PowerShell Export-M365InactiveUsers

Vytvořte dvě složky na(C:)řídit:

Doporučené čtení:Exportovat přehled zakázaných uživatelů Microsoft 365

  • Temp
  • Skripty

Stáhněte si skript PowerShell Export-M365InactiveUsers.ps1 a vložte jejC: skriptysložku. Skript exportuje soubor CSV doC:teplsložku.

Ujistěte se, že je soubor odblokován, abyste předešli chybám při spouštění skriptu. Přečtěte si více v článku Chyba není digitálně podepsána při spouštění skriptu PowerShell.

Další možností je zkopírovat a vložit níže uvedený kód do poznámkového bloku. Dejte tomu jménoExport-M365InactiveUsers.ps1a umístěte jej doC: skriptysložku.

<#
    .SYNOPSIS
    Export-M365InactiveUsers.ps1

    .DESCRIPTION
    Export Microsoft 365/Microsoft Entra ID inactive users report.

    .LINK
    www.alitajran.com/export-microsoft-365-inactive-users/

    .NOTES
    Written by: ALI TAJRAN
    Website:    www.alitajran.com
    LinkedIn:   linkedin.com/in/alitajran

    .CHANGELOG
    V1.00, 12/13/2023 - Initial version
    V1.10, 02/26/2024 - Added IsLicensed column
    V1.20, 04/02/2024 - Calculate DaysSinceLastSignIn column from LastSuccessfulSignInDateTime property
#>

# Export path for CSV file
$CSVPath = "C:TempInactiveUsers.csv"

# Initialize a List to store the data
$Report = [System.Collections.Generic.List[Object]]::new()

# Connect to Microsoft Graph API
Connect-MgGraph -Scopes "User.Read.All", "AuditLog.Read.All"

# Get properties
$Properties = @(
    'Id',
    'DisplayName',
    'Mail',
    'UserPrincipalName',
    'UserType',
    'AccountEnabled',
    'SignInActivity',
    'CreatedDateTime',
    'AssignedLicenses'
)

# Get all users along with the properties
$AllUsers = Get-MgUser -All -Property $Properties | Select-Object $Properties

foreach ($User in $AllUsers) {
    # Default values for users who have never signed in
    $LastSuccessfulSignInDate = "Never Signed-in."
    $DaysSinceLastSignIn = "N/A"

    # Check if the user has a successful sign-in date
    if ($User.SignInActivity.LastSuccessfulSignInDateTime) {
        $LastSuccessfulSignInDate = $User.SignInActivity.LastSuccessfulSignInDateTime
        $DaysSinceLastSignIn = (New-TimeSpan -Start $User.SignInActivity.LastSuccessfulSignInDateTime -End (Get-Date)).Days
    }

    # Check if the user is licensed
    $IsLicensed = if ($User.AssignedLicenses) { "Yes" } else { "No" }

    # Collect data in a custom object
    $ReportLine = [PSCustomObject]@{
        Id                       = $User.Id
        UserPrincipalName        = $User.UserPrincipalName
        DisplayName              = $User.DisplayName
        Email                    = $User.Mail
        UserType                 = $User.UserType
        AccountEnabled           = $User.AccountEnabled
        LastSuccessfulSignInDate = $LastSuccessfulSignInDate
        DaysSinceLastSignIn      = $DaysSinceLastSignIn
        CreatedDateTime          = $User.CreatedDateTime
        IsLicensed               = $IsLicensed
    }

    # Add the report line to the List
    $Report.Add($ReportLine)
}

# Display data using Out-GridView
$Report | Out-GridView -Title "Inactive Users"

# Export data to CSV file
try {
    $Report | Export-Csv -Path $CSVPath -NoTypeInformation -Encoding UTF8
    Write-Host "Script completed. Results exported to $CSVPath." -ForegroundColor Cyan
}
catch {
    Write-Host "Error occurred while exporting to CSV: $_" -ForegroundColor Red
}
  • Řádek 23:Upravit cestu k souboru CSV

Připojte se k Microsoft Graph PowerShell

Než budeme moci pokračovat a získat neaktivní stav pro všechny uživatele, musíme nainstalovat a připojit se k prostředí Microsoft Graph PowerShell.

Spusťte Windows PowerShell jako správce a spusťte níže uvedený příkaz.

Install-Module Microsoft.Graph -Force

Důležité:Před spuštěním rutiny nebo skriptu vždy aktualizujte na nejnovější verzi modulu Microsoft Graph PowerShell, abyste předešli chybám a nesprávným výsledkům.

SpusťteConnect-MgGraphcmdlet.

Connect-MgGraph -Scopes "User.Read.All", "AuditLog.Read.All"

Spusťte skript PowerShell Export-M365InactiveUsers

Získejte všechny neaktivní uživatele pomocí PowerShellu. Spuštěním níže uvedeného příkazu spusťte skript Export-M365InactiveUsers.ps1.

c:scripts.Export-M365InactiveUsers.ps1

Out-GridView

AnOut-GridViewzobrazí sloupce se všemi neaktivními uživateli a mnohem více informací.

Otevřete soubor CSV sestavy neaktivních uživatelů Microsoft 365

Skript PowerShell Export-M365InactiveUsers.ps1 exportuje nečinnost uživatelů Microsoft 365 do souboru CSV. Najděte souborInactiveUsers.csvv cestěC:tepl.

Otevřete soubor CSV se svou oblíbenou aplikací. V našem příkladu je to Microsoft Excel.

Pomohlo vám to exportovat neaktivní uživatele Microsoft 365 do souboru CSV?

Poznámka:Chcete pochopit všechny třiVlastnosti přihlášenía jak je získat? Přečtěte si článekExportujte datum a čas posledního přihlášení uživatelů Microsoft 365.

Závěr

Naučili jste se exportovat neaktivní uživatele z Microsoft 365. Získejte sestavu neaktivních uživatelů pomocí skriptu Export-M365InactiveUsers PowerShell a pečlivě si ji prohlédněte. Zkontrolujte, proč nedochází k žádné aktivitě přihlašování uživatelů, a deaktivujte neaktivní uživatelské účty, abyste ochránili svou organizaci.

Líbil se vám tento článek? Také se vám může líbit Export uživatelů Microsoft Entra ID do CSV pomocí PowerShellu. Nezapomeňte nás sledovat a sdílet tento článek.

Related Posts