Skip to content

Instantly share code, notes, and snippets.

@duffney
Last active September 1, 2015 02:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save duffney/597e07ed8394134c013f to your computer and use it in GitHub Desktop.
Save duffney/597e07ed8394134c013f to your computer and use it in GitHub Desktop.
Search-ADGroups.ps1
$StaleGroupsobj = @()
$DC = (Get-ADDomain).DNSroot
$Groups = (Get-ADGroup -Filter * -Server $DC).name
Foreach ($Group in $Groups){
$Group = Get-ADGroup -Filter {Name -eq $Group} -Properties Name, DistinguishedName, `
GroupCategory, GroupScope, whenCreated, whenChanged, member, `
memberOf, sIDHistory, SamAccountName, Description -Server $DC |
Select-Object Name, DistinguishedName, GroupCategory, GroupScope, `
whenCreated, whenChanged, member, memberOf, SID, SamAccountName, `
Description, `
@{name='MemberCount';expression={$_.member.count}}, `
@{name='MemberOfCount';expression={$_.memberOf.count}}, `
@{name='SIDHistory';expression={$_.sIDHistory -join ','}}, `
@{name='DaysSinceChange';expression=`
{[math]::Round((New-TimeSpan $_.whenChanged).TotalDays,0)}} |
Sort-Object Name
$obj = New-Object PSObject
$obj | Add-Member -MemberType NoteProperty -Name Name -Value $Group.Name
$obj | Add-Member -MemberType NoteProperty -Name DistinguishedName -Value $Group.DistinguishedName
$obj | Add-Member -MemberType NoteProperty -Name GroupCategory -Value $Group.GroupCategory
$obj | Add-Member -MemberType NoteProperty -Name GroupScope -Value $Group.GroupScope
$obj | Add-Member -MemberType NoteProperty -Name whenCreated -Value $Group.whenCreated
$obj | Add-Member -MemberType NoteProperty -Name whenChanged -Value $Group.whenChanged
$obj | Add-Member -MemberType NoteProperty -Name member -Value $Group.member
$obj | Add-Member -MemberType NoteProperty -Name memberOf -Value $Group.memberOf
$obj | Add-Member -MemberType NoteProperty -Name SID -Value $Group.SID
$obj | Add-Member -MemberType NoteProperty -Name SamAccountName -Value $Group.SamAccountName
$obj | Add-Member -MemberType NoteProperty -Name Description -Value $Group.Description
$obj | Add-Member -MemberType NoteProperty -Name MemberCount -Value $Group.MemberCount
$obj | Add-Member -MemberType NoteProperty -Name MemberOfCount -Value $Group.MemberOfCount
$obj | Add-Member -MemberType NoteProperty -Name SIDHistory -Value $Group.SIDHistory
$obj | Add-Member -MemberType NoteProperty -Name DaysSinceChange -Value $Group.DaysSinceChange
$StaleGroupsobj += $obj
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment