$usersCol = @()
# Get AD users
$users = Get-ADUser -Filter * -Properties Title,Department,LastLogonDate,whenCreated,Enabled -SearchBase "DC=ad,DC=local" |
? {$_.Name -notlike "*ConfRm*" `
-and $_.SamAccountName -notlike "*IG*" `
-and $_.SamAccountName -notlike "*Mail*" `
-and $_.SamAccountName -notlike "*QPM*" `
-and $_.DistinguishedName -notmatch 'OU=SharedMailboxes,DC=AD,DC=Local' `
-and $_.DistinguishedName -notmatch 'OU=ServiceAccounts,DC=AD,DC=Local'}
# Get Domain Admins
$domainAdminUsers = Get-ADGroupMember -Identity "Domain Admins"
foreach ($user in $users)
{
$objTemp = New-Object PSObject -Property @{
NAME = $user.Name
TITLE = $user.Title
DEPARTMENT = $user.Department
LASTLOGONDATE = $user.LastLogonDate
WHENCREATED = $user.WhenCreated
ENABLED = $user.Enabled
DOMAINADMIN = $false
}
$usersCol += $objTemp
}
foreach ($domainadmin in $domainAdminUsers)
{
$adminuser = Get-ADUser -Identity $domainadmin.distinguishedName -Properties Title,Department,LastLogonDate,whenCreated,Enabled
$objTemp = New-Object PSObject -Property @{
NAME = $adminuser.Name
TITLE = $adminuser.Title
DEPARTMENT = $adminuser.Department
LASTLOGONDATE = $adminuser.LastLogonDate
WHENCREATED = $adminuser.WhenCreated
ENABLED = $adminuser.Enabled
DOMAINADMIN = $true
}
$usersCol += $objTemp
}
$usersCol | Export-Csv "C:\myscripts\ADusers.csv" -NoTypeInformation
Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.
Have a better answer? Share it in a comment.
From novice to tech pro — start learning today.
Open in new window