List Active Directory Non-LVR Group Members
Page content
My friend Jimmy wrote a couple of post a while ago on non LVR (aka legacy) group members in Active Directory groups over at his blog.
You can find the his post on how to find non-LVR members here: http://jimmytheswede.blogspot.se/2013/06/non-lvr-groupmembers-how-to-find-them.html
The other day when I was facing a similar situation at a customer I wrote this PowerShell function that I used to list all non LVR members of a group:
Function Get-NonLVRMembers {
[CmdletBinding(HelpUri = 'http://blog.simonw.se/',
ConfirmImpact='Low')]
[OutputType([String])]
Param(
[Parameter(Mandatory=$true,
ValueFromPipeline=$false)]
[ValidateNotNullOrEmpty()]
[Alias("dc")]
$DomainController,
[Parameter(Mandatory=$true,
ValueFromPipeline=$true)]
[ValidateNotNullOrEmpty()]
[Alias("dn")]
$DistinguishedName
)
# Get meta data by running repadmin
$ObjectMeta = & repadmin.exe /showobjmeta $DomainController "$DistinguishedName"
# Define regular expression to find LEGACY membership
$Regex = 'LEGACYs.*?((CN=.*?,)+?(OU=.*?,)*?(DC=.*?,)*?(DC=.*?))s'
# Match output from repadmin with regular expression and return legacy members distinguished name
([regex]::matches($ObjectMeta, $Regex, @("Multiline"))) | Foreach {
$_.Groups[1].Value
}
}This will return a list of strings, each containing the distinguished name of a non LVR group member.
I used this information to generate a report of which and how many LVR-members each group had.