none
Auslesen von SIDs von Mitgliedern einer Gruppe RRS feed

  • Frage

  • Hallo,

    ich möchte von allen Benutzeraccounts, die Mitglied einer als string-Variable hinterlegten Benutzergruppe sind, die SID auslesen und in ein Array packen. Wie mach ich das am geschicktesten?

    Ich bin nebenher schon am Wühlen in der WMI-Referenz, aber da was zu finden ist so in etwa wie die Nadel im Heuhaufen zu suchen... zumal man, wenn man es denn findet, immer noch raten muss, wie genau man es in der Powershell umsetzt. Ich bin ehrlich gesagt mittlerweile eher noch ratloser als vorher!

    Vielen Dank für die Unterstützung schonmal :)

    Mittwoch, 28. Juli 2010 12:08

Antworten

  • Hallo,

    probiere es mit:

    $strFilter = "(&(objectCategory=User)(memberof=DN))"

    $objDomain = New-Object System.DirectoryServices.DirectoryEntry

    $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
    $objSearcher.SearchRoot = $objDomain
    $objSearcher.PageSize = 1000
    $objSearcher.Filter = $strFilter
    $objSearcher.SearchScope = "Subtree"

    $colProplist = "samaccountname"
    foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}

    $colResults = $objSearcher.FindAll()

    $sids = @()

    foreach ($objResult in $colResults)
        {
           $objItem = $objResult.Properties; 
           $objUser = New-Object System.Security.Principal.NTAccount("deinedömane", $objItem.samaccountname)
           $strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
           $sids = $sids + $strSID.Value
     
        }

    wobei DN die DistinguishedName Eigenschaft deiner AD Gruppe ist. Du müsstest also nur noch das Mapping zwischen dem Namen der Benutzergruppe und dem DN einrichten.

    http://technet.microsoft.com/de-de/library/ff730967(en-us).aspx

    http://technet.microsoft.com/de-de/library/ff730940(en-us).aspx

    Hoffe das hilft dir weiter.

    Gruß,
    Andrei

    Donnerstag, 29. Juli 2010 08:47
    Moderator