new push
This commit is contained in:
29
Ledger.ps1
Normal file
29
Ledger.ps1
Normal file
@@ -0,0 +1,29 @@
|
||||
#This script will read a CSV file with users in samaccountname format in a column named username and query AD for the last password set time based on the day count on line 11.
|
||||
|
||||
# Define the path to the CSV file
|
||||
$csvPath = "C:\temp\password-last-set.csv" # create a CSV file in a specific path with a column named username
|
||||
|
||||
# Import the CSV file
|
||||
$users = Import-Csv -Path $csvPath
|
||||
|
||||
# Set the threshold in days
|
||||
$thresholdDays = 0
|
||||
|
||||
# Calculate the threshold date
|
||||
$thresholdDate = (Get-Date).AddDays(-$thresholdDays)
|
||||
|
||||
# Iterate through each user in the CSV
|
||||
foreach ($user in $users) {
|
||||
# Get the SamAccountName from the CSV
|
||||
$samAccountName = $user.username
|
||||
|
||||
# Get the user object from Active Directory
|
||||
$adUser = Get-ADUser -Filter { SamAccountName -eq $samAccountName } -Properties LastLogon
|
||||
|
||||
# Check if the PasswordLastSet property exists and compare it with the threshold date
|
||||
if ($null -eq $adUser.LastLogon) {
|
||||
Write-Output "$samAccountName Password still unset"
|
||||
} elseif ($adUser.LastLogon -lt $thresholdDate) {
|
||||
Write-Output "$samAccountName Password was last set on $($adUser.PasswordLastSet)"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user