Showing posts with label Powershell. Show all posts
Showing posts with label Powershell. Show all posts

Wednesday, 26 June 2024

HOW TO FIND INACTIVE USER ACCOUNT ON ACTIVE DIRECTORY USING POWERSHELL

Hi there,

If you are looking to tidy up your Active Directory by finding inactive accounts, I have a PowerShell script that can do just that. Save and run this script on your domain controller. This is just a audit tool and wont delete any thing.

  1. Save the code with a ".PS1" extension.
  2. Open PowerShell as an admin and run the script.


    Clear-Host

    Write-Host -ForegroundColor yellow " FIND INACTIVE USERS/STALE USER"

    # Import the Active Directory module
    Import-Module ActiveDirectory

    # Prompt the user for the number of days
    $daysInactive = Read-Host "Enter the number of days for inactive accounts"

    # Calculate the date
    $timeSpan = (Get-Date).AddDays(-$daysInactive)

    # Search for inactive user accounts
    $inactiveAccounts = Get-ADUser -Filter {LastLogonDate -lt $timeSpan -and Enabled -eq $true} -Property LastLogonDate, DistinguishedName |
    Select-Object Name, SamAccountName, LastLogonDate, DistinguishedName

    # Check if any inactive accounts were found
    if ($inactiveAccounts.Count -eq 0) {
    Write-Host "No inactive accounts found."
    } else {
    # Display the inactive accounts in a grid view
    $inactiveAccounts | Out-GridView -Title "Inactive User Accounts"
    }

Sunday, 20 October 2019

HOW TO FIND INACTIVE (STALE) COMPUTER AND USER IN AD USING POWERSHELL

Hi Ya,

I have compiled this easy powershell script that will help you find the inactive computer and user.
This is very safe and easy to use as this script only display the inactive computer and user. This wont delete or disable any thing from your Active directory.

Save this script as ".PS1" extension and run this in your DC server.

 Write-Host -ForegroundColor Yellow "Input the no of inactive days : " -NoNewline   
 $staledays = Read-Host  
 $staledays = (Get-Date).AddDays(-$staledays)   
 Get-ADComputer -Property Name,lastLogonDate -Filter {lastLogonDate -lt $staledays}| Select-Object -Property Name,LastLogonDate,Distinguishedname,Enabled|Sort-Object -Property Name | Out-GridView -Title 'List of stale computers'  
 Get-ADuser -Property Name,lastLogonDate -Filter {lastLogonDate -lt $staledays}| Select-Object -Property Name,LastLogonDate,Distinguishedname,Enabled|Sort-Object -Property Name | Out-GridView -Title 'List of stale users'