Συνιστάται να μην αναγκάζετε τους χρήστες να αλλάξουν τον κωδικό πρόσβασής τους σε ένα χρονοδιάγραμμα, εκτός εάν υπάρχουν στοιχεία για παραβίαση ασφαλείας. Ωστόσο, μερικές φορές θέλετε να ελέγξετε πότε οι χρήστες άλλαξαν τον κωδικό πρόσβασής τους για τελευταία φορά. Σε αυτό το άρθρο, θα μάθετε πώς να εξάγετε την ημερομηνία και την ώρα της τελευταίας αλλαγής κωδικού πρόσβασης χρηστών του Microsoft 365 με το Microsoft Graph PowerShell.
Εγκαταστήστε το Microsoft Graph PowerShell
Εκτελέστε το PowerShell ως διαχειριστής και εγκαταστήστε τη μονάδα Microsoft Graph PowerShell.
Install-Module Microsoft.Graph -ForceΣπουδαίος:Πάντα να ενημερώνετε στην πιο πρόσφατη έκδοση της μονάδας Microsoft Graph PowerShell προτού εκτελέσετε ένα cmdlet ή δέσμη ενεργειών για την αποφυγή σφαλμάτων και εσφαλμένων αποτελεσμάτων.
Προτεινόμενη ανάγνωση:Εξαγωγή αναφοράς μελών για ρόλους διαχειριστή του Microsoft 365
Συνδεθείτε στο Microsoft Graph PowerShell
Πρέπει να συνδεθείτε στο Microsoft Graph PowerShell με τα σωστά δικαιώματα.
Connect-MgGraph -Scopes "User.Read.All"Θέλετε να συνδεθείτε χωρίς αλληλεπίδραση χρήστη επειδή θέλετε ένα σενάριο να εκτελείται αυτόματα; Ρυθμίστε το με έλεγχο ταυτότητας βάσει πιστοποιητικού ή ένα μυστικό πελάτη. Διαβάστε περισσότερα στο άρθρο Σύνδεση στο Microsoft Graph PowerShell.
Για να ενημερώσετε όλους τους χρήστες του Microsoft 365 την ημερομηνία και την ώρα της τελευταίας αλλαγής κωδικού πρόσβασης, εκτελέστε την παρακάτω εντολή.
Get-MgUser -All -Property DisplayName, UserPrincipalName, LastPasswordChangeDateTime | Select-Object -Property DisplayName, UserPrincipalName, LastPasswordChangeDateTimeΕμφανίζεται η έξοδος.
DisplayName UserPrincipalName LastPasswordChangeDateTime
----------- ----------------- --------------------------
Alison Bell [email protected] 16/04/2024 17:57:46
Amanda Morgan [email protected] 04/06/2024 17:39:05
Audrey Graham [email protected] 11/10/2024 11:12:34
Boris Campbell [email protected] 11/12/2024 17:12:17Αν και η έξοδος είναι εξαιρετική, θέλουμε περισσότερες πληροφορίες για κάθε χρήστη του Microsoft 365. Ας δημιουργήσουμε μια αναφορά για να ανακτήσουμε περισσότερες ιδιότητες και να την εξαγάγουμε σε ένα αρχείο CSV.
Εξαγωγή της αναφοράς τελευταίας αλλαγής κωδικού πρόσβασης χρηστών του Microsoft 365 με το PowerShell
Η δέσμη ενεργειών Export-M365LastPassChange.ps1 PowerShell θα λάβει όλους τους χρήστες και την ημερομηνία και την ώρα της τελευταίας αλλαγής κωδικού πρόσβασης στον μισθωτή Microsoft 365/Entra. Μετά από αυτό, θα εξαγάγει την αναφορά σε αρχείο CSV. Μπορείτε να ανοίξετε το αρχείο CSV με το Microsoft Excel ή οποιαδήποτε άλλη εφαρμογή που υποστηρίζει την επέκταση αρχείου CSV.
Το σενάριο θα συγκεντρώσει τις ακόλουθες πληροφορίες:
- Ταυτότητα
- UserPrincipalName
- Ταχυδρομείο
- DisplayName
- Πολιτικές κωδικών πρόσβασης
- LastPasswordChangeDateTime
- CreatedDateTime
- Πεδίο ορισμού
- MaxPasswordAge
- PasswordAge
- ExpiresOn
- DaysRemaining
Για να εξαγάγετε την τελευταία αλλαγή κωδικού πρόσβασης όλων των χρηστών στο Microsoft 365 με το PowerShell, ακολουθήστε τα παρακάτω βήματα:
Βήμα 1. Κατεβάστε το σενάριο Export-M365LastPassChange PowerShell
Δημιουργήστε δύο φακέλους στο(ΝΤΟ:)οδηγώ:
- Σενάρια
- Θερμ
Κάντε λήψη και τοποθετήστε το σενάριο Export-M365LastPassChange.ps1 PowerShell στοΓ: Σενάριαντοσιέ. Το σενάριο θα εξαγάγει όλους τους χρήστες με την τελευταία ημερομηνία και ώρα αλλαγής κωδικού πρόσβασης σε μια αναφορά στοΓ: Θερμντοσιέ.
Βεβαιωθείτε ότι το αρχείο είναι ξεμπλοκαρισμένο για να αποφύγετε σφάλματα κατά την εκτέλεση του σεναρίου. Διαβάστε περισσότερα στο άρθρο Σφάλμα χωρίς ψηφιακή υπογραφή κατά την εκτέλεση δέσμης ενεργειών PowerShell.
Μια άλλη επιλογή είναι να αντιγράψετε και να επικολλήσετε τον παρακάτω κώδικα στο Σημειωματάριο. Δώστε του το όνομαExport-M365LastPassChange.ps1και τοποθετήστε το στοΓ: Σενάριαντοσιέ.
<#
.SYNOPSIS
.Export-M365LastPassChange.ps1
.DESCRIPTION
The script exports the last password change date and time, and more properties
for all Microsoft 365 users to a CSV file.
.LINK
www.alitajran.com/export-microsoft-365-users-last-password-change-date-and-time/
.NOTES
Written by: ALI TAJRAN
Website: www.alitajran.com
LinkedIn: linkedin.com/in/alitajran
X: x.com/alitajran
.CHANGELOG
V1.00, 12/23/2024 - Initial version
#>
param (
[Parameter(Mandatory = $true)]
[string]$ExportPath
)
# Connect to Microsoft Graph PowerShell
Connect-MgGraph -Scopes "User.Read.All", "Domain.Read.All" -NoWelcome
# Define CSV file export location variable using the parameter provided
$Csvfile = "$ExportPath"
# Retrieve all domain password policies
$domains = Get-MgDomain | Select-Object Id, PasswordValidityPeriodInDays
# Define the properties to retrieve for users
$properties = @(
"Id",
"UserPrincipalName",
"mail",
"displayName",
"PasswordPolicies",
"LastPasswordChangeDateTime",
"CreatedDateTime"
)
# Splat the user parameters
$userParams = @{
Filter = "userType eq 'member' and accountEnabled eq true"
Property = $properties
CountVariable = 'userCount'
ConsistencyLevel = 'Eventual'
All = $true
Verbose = $true
}
# Fetch user information
$users = Get-MgUser @userParams | Select-Object $properties
# Get the current datetime for calculation
$timeNow = Get-Date
# Initialize a List to store user information
$Report = [System.Collections.Generic.List[Object]]::new()
# Process users and gather required data
foreach ($user in $users) {
$userDomain = ($user.userPrincipalName).Split('@')[1]
$maxPasswordAge = ($domains | Where-Object { $_.Id -eq $userDomain }).PasswordValidityPeriodInDays
if ($user.PasswordPolicies -contains "DisablePasswordExpiration" -or $maxPasswordAge -eq 2147483647) {
$ReportLine = [PSCustomObject][Ordered]@{
Id = $user.Id
UserPrincipalName = $user.UserPrincipalName
Mail = $user.mail
DisplayName = $user.DisplayName
PasswordPolicies = $user.PasswordPolicies -join "; "
LastPasswordChangeDateTime = $user.LastPasswordChangeDateTime
CreatedDateTime = $user.CreatedDateTime
Domain = $userDomain
MaxPasswordAge = "Password does not expire"
PasswordAge = (New-TimeSpan -Start $user.LastPasswordChangeDateTime -End $timeNow).Days
ExpiresOn = "N/A"
DaysRemaining = "N/A"
}
# Add the report line to the List
$Report.Add($ReportLine)
}
else {
$expiresOn = $user.LastPasswordChangeDateTime.AddDays($maxPasswordAge)
$daysRemaining = (New-TimeSpan -Start $timeNow -End $expiresOn).Days
$ReportLine = [PSCustomObject][Ordered]@{
Id = $user.Id
UserPrincipalName = $user.UserPrincipalName
Mail = $user.mail
DisplayName = $user.DisplayName
PasswordPolicies = $user.PasswordPolicies -join "; "
LastPasswordChangeDateTime = $user.LastPasswordChangeDateTime
CreatedDateTime = $user.CreatedDateTime
Domain = $userDomain
MaxPasswordAge = $maxPasswordAge
PasswordAge = (New-TimeSpan -Start $user.LastPasswordChangeDateTime -End $timeNow).Days
ExpiresOn = $expiresOn
DaysRemaining = if ($daysRemaining -le 0) { "Expired" } else { $daysRemaining }
}
# Add the report line to the List
$Report.Add($ReportLine)
}
}
# Sort on UserPrincipalName
$Report = $Report | Sort-Object UserPrincipalName
# Display the results in Out-GridView
$Report | Out-GridView -Title "Microsoft 365 Users Last Password Change Date and Time Report"
# Export results to CSV
$Report | Export-Csv -Path $Csvfile -NoTypeInformation -Encoding utf8
Write-Host "Script completed. Report exported to $Csvfile" -ForegroundColor CyanΒήμα 2. Εκτελέστε το σενάριο Export-M365LastPassChange PowerShell
Εκτελέστε την παρακάτω εντολή για να εκτελέσετε τοExport-M365LastPassChange.ps1Σενάριο PowerShell και δημιουργία αναφοράς.
C:scripts.Export-M365LastPassChange.ps1 -ExportPath "C:tempLastPassChangeReport.csv"Η έξοδος της αναφοράς αποστέλλεται σε έναν διαδραστικό πίνακα σε ξεχωριστό παράθυρο (Out-GridView).

Βήμα 3. Ελέγξτε το αρχείο CSV αναφοράς ημερομηνίας και ώρας αλλαγής κωδικού πρόσβασης των χρηστών
Η δέσμη ενεργειών Export-M365LastPassChange.ps1 PowerShell εξάγει όλους τους χρήστες με την τελευταία ημερομηνία και ώρα αλλαγής κωδικού πρόσβασης σε ένα αρχείο CSV.
Βρείτε το αρχείοLastPassChangeReport.csvστο μονοπάτιC: θερμοκρασία.
Ανοίξτε το αρχείο CSV με την αγαπημένη σας εφαρμογή. Στο παράδειγμά μας, είναι το Microsoft Excel.

Αυτό είναι όλο!
Σύναψη
Μάθατε πώς να εξάγετε την ημερομηνία και την ώρα της τελευταίας αλλαγής κωδικού πρόσβασης των χρηστών του Microsoft 365. Την επόμενη φορά που θέλετε να αναγκάσετε τους χρήστες να αλλάξουν τον κωδικό πρόσβασής τους και θέλετε να μάθετε την κατάσταση, μπορείτε να εκτελέσετε το σενάριο και να ελέγξετε την ημερομηνία και την ώρα. Είναι καλό να έχετε ένα σενάριο που δημιουργεί μια αναφορά με όλες τις πληροφορίες που χρειάζεστε.
Σας άρεσε αυτό το άρθρο; Μπορεί επίσης να σας αρέσει Ρύθμιση παραμέτρων προστασίας κωδικού πρόσβασης Microsoft Entra για εσωτερική εγκατάσταση. Μην ξεχάσετε να μας ακολουθήσετε και να μοιραστείτε αυτό το άρθρο.








![[AskVG Apps] Λήψη Δωρεάν Λογισμικού για Προσαρμογή και Προσαρμογή των Windows](https://media.askvg.com/articles/images8/Run_Editor_Freeware_Launch_Programs_Custom_Name_Run_Box_Windows.png)





