PowerShell Script to Export All User Creation Dates to CSV

Understanding the creation dates of user accounts in Active Directory is essential for maintaining an organized and secure environment. In this blog post, we’ll explore a powerful PowerShell script that reveals the creation dates of all user accounts in Active Directory, offering administrators a comprehensive overview for auditing and documentation purposes.

Prerequisites:

Before using the script, ensure that you have the necessary permissions and the Active Directory module installed on your machine. If not already installed, add the “Remote Server Administration Tools (RSAT)” feature.

PowerShell Script:

# Import the Active Directory module
Import-Module ActiveDirectory

# Get all user objects from Active Directory
$users = Get-ADUser -Filter * -Properties SamAccountName, whenCreated

# Check if any users were found
if ($users.Count -gt 0) {
    # Create an array to store user information
    $userList = @()

    # Iterate through each user
    foreach ($user in $users) {
        # Create a custom object with the user information
        $userInfo = [PSCustomObject]@{
            Username      = $user.SamAccountName
            CreationDate  = $user.whenCreated
        }

        # Add the user information to the array
        $userList += $userInfo
    }

    # Display the total number of users
    Write-Host "Total number of users: $($userList.Count)"

    # Export the information to a CSV file
    $userList | Export-Csv -Path "AllUserCreationInfo.csv" -NoTypeInformation

    Write-Host "User creation information exported to AllUserCreationInfo.csv."
} else {
    Write-Host "No user accounts found in Active Directory."
}

How to Use:

  1. Save the PowerShell Script: Save the script with a .ps1 extension (e.g., ExportUserCreationInfo.ps1).
  2. Run the PowerShell Script: Open a PowerShell window, navigate to the directory where the script is saved, and execute the script using the following command:.\ExportUserCreationInfo.ps1

Understanding the Script:

  • Retrieving All Users: The script uses Get-ADUser with a filter of * to retrieve all user objects from Active Directory.
  • Custom Object Creation: For each user, a custom object is created, capturing the SamAccountName and whenCreated properties.
  • Export to CSV: User information is stored in an array and then exported to a CSV file named “AllUserCreationInfo.csv” using Export-Csv.

Conclusion:

This PowerShell script empowers administrators with a comprehensive view of all user creation dates in Active Directory. Whether for audits, documentation, or general system understanding, this information provides a valuable historical perspective.