oesi1989
Goto Top

Csv-Datei pro Abteilung mit den Nutzer und deren Gruppen erstellen

Hallo,
ich habe bis jetzt ein Script, der in 1 csv-Datei alle Nutzer, die Gruppen und das Zugriffsrecht steht.
Es sieht so aus:

User1,"PersNr","Abt1_Ordner1","Ändern"
User1,"PersNr","Abt1_Ordner2","Lesen"
User2,"PersNr","Abt2_Ordner1","Ändern"
User2,"PersNr","Abt2_Ordner2","Ändern"

Der Code dazu:
Import-Module ActiveDirectory 
$path = "C:\temp\AnlageA\test.csv"   
$alleGruppen = get-adgroup -filter * -SearchBase "OU=Neues_FS,OU=01_Benutzer_Gruppen,DC=bwkrhs,DC=kob,DC=zsanbw,DC=de"   
foreach($Gruppe in $alleGruppen) 
{ 
    $Members = get-adgroupmember -identity $Gruppe|Select-Object Name,SamAccountName,GroupName|Foreach-Object { 
    $_.GroupName = $Gruppe 
    $_  

    }| Export-CSV $path -Append -NoTypeInformation -Encoding UTF8 
} 
(Get-Content $path) -replace "CN=","" | out-file $path    
(Get-Content $path) -replace '(?s),OU=.+' | out-file $path    
(Get-Content $path) | Foreach-Object { If ($_ -match "_C_")  { $_ + "`",`"Ändern`""}  else { $_ } }| Set-Content $path   
(Get-Content $path) | Foreach-Object { If ($_ -match "_R_")  { $_ + "`",`"Lesen`""}  else { $_ } }| Set-Content $path   
(Get-Content $path) -replace "_C_","_" | out-file $path    
(Get-Content $path) -replace "_R_","_" | out-file $path  

Ich würde aber gerne pro OU (=1 Abteilung) eine csv-Datei erstellen lassen, damit das filtern nicht mehr solange dauert.
Dazu hat der Nutzer "colinardo" bereits folgendes Script erstellt:

$exportpath = 'C:\temp'   
$searchbase = "OU=Neues_FS,..."     
Get-ADOrganizationalUnit -F * -Searchbase $searchbase -SearchScope Onelevel | %{ Get-ADuser -Filter * -SearchBase $_.DistinguishedName -SearchScope OneLevel | select SamAccountName, @{n='Groups';e={(Get-ADPrincipalGroupMembership $_.SamAccountName).Name -join ','}} | export-csv "$exportpath\$($_.Name).csv" -NoType -Delimiter ";" -Encoding UTF8    
}

Die Dateien werden auch pro OU erstellt, aber ich würde gerne die .csv-Datei so formatieren/aussehen lassen wie oben.
D.h., pro Zeile erscheint der Nutzer und eine Gruppe und dahinter das Recht "ändern" oder "lesen".
Es gibt quasi für jeden Abteilungsordner 2 Gruppen, als Bsp. 01_01_R_Ordner und 01_01_C_Ordner. R=Read, C=Change

Im Moment wird es so angezeigt, dass alle Gruppen in eine Zeile geschrieben werden, was ein bisschen unübersichtlich wird.

Content-Key: 372418

Url: https://administrator.de/contentid/372418

Printed on: April 27, 2024 at 00:04 o'clock