2016-07-06 4 views
1

Ich habe ein Skript, das alle Mitglieder von Sicherheitsgruppen über Domains hinweg erhält und nach CSV file in diesem Format exportiert: . Aber ich möchte eine weitere Zeile für die Domain hinzufügen, so wird das Format wie folgt aussehen: domain\username, name, security group.Mitglieder der Sicherheitsgruppen erhalten Domäne Benutzername

Ich könnte die DN bekommen, aber ich interessiere mich nur für nur domain\username. Ich suche im Internet herum und ich konnte nichts finden, und ich bin nicht sicher, ob dies überhaupt möglich

$objForest = [System.DirectoryServices.ActiveDirectory.Forest]::GetCurrentForest() $DomainList = @($objForest.Domains | Select-Object Name) $Domains = $DomainList | foreach {$_.Name} 
$Groups = Import-Csv C:\ad.csv 
$Table = @() 
$Record = @{ "Group Name" = "" "Name" = "" "Username" = "" } 

Foreach ($Group in $Groups) { 
    $Arrayofmembers = Get-ADGroupMember -identity $Group.groupad 
-recursive -Server $Domain | select name,samaccountname 
    foreach ($Member in $Arrayofmembers) { 
    $Record."Group Name" = $Group.ad 
    $Record."Name" = $Member.name 
    $Record."UserName" = $Member.samaccountname 
    $objRecord = New-Object PSObject -property $Record 
    $Table += $objrecord 
    } 
} 

$Table | export-csv "C:\SecurityGroups3.csv" -NoTypeInformation 
+0

, wenn Sie die DN bekommen, Regex verwenden, um die DC zu erhalten dann -join mit dem Benutzernamen. – Bum

+0

Danke Burn für Ihre schnelle Antwort, ich bin neu in Powershell so könnten Sie freundlich genug sein und geben Sie mir Beispiel wie Benutzer Regex – Yallabina

Antwort

1

Wie Bum erwähnt, können Sie einen regulären Ausdruck verwenden, um die DC zu bekommen und es mit dem Benutzernamen kombinieren:

$username = 'Michael' 
$distinguishedName = 'CN=Domain Admins,CN=Users,DC=Fabrikam,DC=com' 

$dc = [regex]::Match($distinguishedName, 'DC=([^,|$]+)').Groups[1].Value 
$domainuser = '{0}\{1}' -f $dc, $username 

Ausgabe von $domainuser:

$domainuser 
Fabrikam\Michael 
+0

Hallo Martin, vielen Dank für Ihre Hilfe, aber jetzt habe ich ein anderes Problem mit dem Skript. Einige dieser ADgroups haben verschachtelte Gruppen, und wenn ich rekursiv benutze, listet sie alle Mitglieder der verschachtelten Gruppe unter der AD-Hauptgruppe auf, aber ich möchte den Namen der verschachtelten Gruppe anzeigen, zu der sie gehören. Ich bin neu auf der Website und ich bin mir nicht sicher, ob ich eine andere Frage für dieses Problem posten sollte oder ich sollte den gleichen Thread verwenden. Wie auch immer, vielen Dank für Ihre Unterstützung und ich freue mich auf Ihre Antwort. Ich habe das letzte Skript, bin mir aber nicht sicher, wie ich es veröffentlichen soll. es will es in das Kommentarfeld für es Größe akzeptieren – Yallabina

+0

Hey Yallabina, froh, Ihnen zu helfen. Sie sollten wahrscheinlich eine neue Frage stellen. Dies wird Ihnen die meiste Aufmerksamkeit schenken. Ich werde versuchen, Ihnen zu helfen –

+1

Vielen Dank für Ihre schnelle Antwort :) Ich werde es jetzt posten – Yallabina

Verwandte Themen