Organized
This commit is contained in:
23
scripts/DeleteOldProfilesDirectory.ps1
Normal file
23
scripts/DeleteOldProfilesDirectory.ps1
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# Delete old profiles based on the home users directory last modification date
|
||||||
|
|
||||||
|
$daysInactive = 14 # Specify the number of days of inactivity
|
||||||
|
$inactiveDate = (Get-Date).AddDays(-$daysInactive)
|
||||||
|
$homeDirectoryPath = "C:\Users" # Path to user home directories
|
||||||
|
|
||||||
|
# Get all user profiles
|
||||||
|
Get-WmiObject Win32_UserProfile | ForEach-Object {
|
||||||
|
$profile = $_
|
||||||
|
$userFolder = $profile.LocalPath
|
||||||
|
|
||||||
|
# Check if the profile folder exists and get the last modification date
|
||||||
|
if (Test-Path $userFolder) {
|
||||||
|
$lastWriteTime = (Get-Item $userFolder).LastWriteTime
|
||||||
|
|
||||||
|
if ($lastWriteTime -lt $inactiveDate) {
|
||||||
|
Write-Host "Deleting user profile: $($profile.LocalPath) Last Modified: $lastWriteTime" -ForegroundColor Red
|
||||||
|
|
||||||
|
# Remove the user profile
|
||||||
|
$profile.Delete()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,3 +1,5 @@
|
|||||||
|
# Delete old profiles based off of the last login in AD
|
||||||
|
|
||||||
$daysInactive = 14 # Specify the number of days of inactivity
|
$daysInactive = 14 # Specify the number of days of inactivity
|
||||||
$inactiveDate = (Get-Date).AddDays(-$daysInactive)
|
$inactiveDate = (Get-Date).AddDays(-$daysInactive)
|
||||||
$homeDirectoryPath = "C:\Users" # Path to user home directories
|
$homeDirectoryPath = "C:\Users" # Path to user home directories
|
||||||
@@ -22,4 +24,4 @@ Get-WmiObject Win32_UserProfile | ForEach-Object {
|
|||||||
$profile.Delete()
|
$profile.Delete()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user