AD export users to CSV


2 min read

Here’s a practical guide to accomplish this task using PowerShell, a powerful scripting language that comes with Windows.

Launch PowerShell

First, you need to open PowerShell with administrative privileges. You can do this by searching for PowerShell in the Start menu, right-clicking on it, and selecting "Run as administrator."

Import the Active Directory Module

Before running any Active Directory commands, you must ensure the Active Directory module is imported. This module contains the cmdlets necessary for AD tasks. Run the following command:

Import-Module ActiveDirectory

If you're running a version of PowerShell where the Active Directory module is automatically loaded, this step might not be necessary.

Export Users to CSV

Now, you’re ready to export the user data. You can use the Get-ADUser to fetch user details and Export-CSV to export the data. Here's a basic command to export certain attributes for all users:

Get-ADUser -Filter * -Property DisplayName, EmailAddress, Department | Select-Object DisplayName, EmailAddress, Department | Export-Csv -Path "C:\AD_Users.csv" -NoTypeInformation

In this command:

  • Get-ADUser -Filter * fetches all user accounts in AD.

  • -Property DisplayName, EmailAddress, Department specifies which attributes to fetch.

  • Select-Object DisplayName, EmailAddress, Department filters out these attributes for the output.

  • Export-Csv -Path "C:\AD_Users.csv" specifies the file path where the CSV file will be saved.

  • -NoTypeInformation removes the type information from the CSV file, making it cleaner.

Customizing Attributes

You can customize the command to include any user attributes you need. The AD has numerous attributes for user objects, such as SamAccountName, GivenName, Surname, and Title. Adjust the -Property and Select-Object parts of the command to include the attributes relevant to your requirements.

Access the Exported CSV File

Navigate to the path specified in your command (e.g., C:\AD_Users.csv) to access the CSV file. You can open this file with any program that supports CSV format, like Microsoft Excel, to view and manipulate the data.

Additional Tips

  • Running Commands Remotely: If you need to run these commands on a remote server, you might first need to establish a session with that server using the New-PSSession cmdlet.

  • Scheduled Exports: You can automate this task by creating a scheduled task in Windows that runs the PowerShell script at specified intervals.

  • Handling Large Directories: For very large Active Directory environments, consider using filters and pagination to manage performance and memory usage effectively.