Übersicht, pro Abteilung eine .csv-Datei generieren lassen
Hallo,
mit diesem Script generiere ich eine .csv-Datei, in der alle Nutzer aller Abteilungen und deren Gruppen drin stehen.
Wie kann ich jetzt pro Abteilung (01_01,02_01_,03_01,etc.) eine .csv-Datei generieren lassen?
Die OU heißt 01_01 etc.
mit diesem Script generiere ich eine .csv-Datei, in der alle Nutzer aller Abteilungen und deren Gruppen drin stehen.
Wie kann ich jetzt pro Abteilung (01_01,02_01_,03_01,etc.) eine .csv-Datei generieren lassen?
Die OU heißt 01_01 etc.
Import-Module ActiveDirectory
#$path = "C:\temp\Anlage.csv"
$alleGruppen = get-adgroup -filter * -searchbase "OU=Neues_FS,..."
foreach($Gruppe in $alleGruppen)
{
$Members = get-adgroupmember -identity $Gruppe|Select-Object Name,SamAccountName,GroupName|Foreach-Object {
$_.GroupName = $Gruppe
$_
Get-ADOrganizationalUnit | Where-Object
}| 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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 372187
Url: https://administrator.de/contentid/372187
Ausgedruckt am: 26.11.2024 um 01:11 Uhr
1 Kommentar
Moin,
wenn ich das richtig verstanden habe, dann andersherum anfangen:
1. Mit Get-ADOrganizationalUnit -filter * alle OUs auslesen.
2. Mit so einem Konstrukt %{Get-ADUser -filter * -searchbase $_.distinguishedname} für jede OU die User auslesen.
3. Mit Get-ADPrincipalGroupMembership die Gruppen des jeweiligen Users auslesen.
Das geschickt in eine Datei geschrieben und fertig. ;)
Liebe Grüße
Erik
wenn ich das richtig verstanden habe, dann andersherum anfangen:
1. Mit Get-ADOrganizationalUnit -filter * alle OUs auslesen.
2. Mit so einem Konstrukt %{Get-ADUser -filter * -searchbase $_.distinguishedname} für jede OU die User auslesen.
3. Mit Get-ADPrincipalGroupMembership die Gruppen des jeweiligen Users auslesen.
Das geschickt in eine Datei geschrieben und fertig. ;)
Liebe Grüße
Erik