Mehrere CSV-Dateien gleichzeitig einlesen
Hi,
ich benötige mal wieder eure tatkräftige Unterstützung.
Ich habe 98 CSV-Dateien gefüllt mit Usern, für Ordnerberechtigung (98 Ordner),
die Sicherheitsgruppen habe ich händisch angelegt ^^
vermutlich geht es auch einfacher : )
Die CSV ist im Moment einfach mit den Usern untereinander befüllt.
Mit:
kann ich einzelne CSV einlesen.
Aber kann man es auch so umbiegen, dass z.b. alle CSV-Dateien aus einem Ordner eingelesen werden
und wenn ja wie?
Beste Grüße
ich benötige mal wieder eure tatkräftige Unterstützung.
Ich habe 98 CSV-Dateien gefüllt mit Usern, für Ordnerberechtigung (98 Ordner),
die Sicherheitsgruppen habe ich händisch angelegt ^^
vermutlich geht es auch einfacher : )
Die CSV ist im Moment einfach mit den Usern untereinander befüllt.
Mit:
Import-CSV C:\csv\OnB-CSV\G_Ordner_Alle_OnB_A.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity "G_Ordner_Alle_OnB_A" -members $_.users}
Aber kann man es auch so umbiegen, dass z.b. alle CSV-Dateien aus einem Ordner eingelesen werden
und wenn ja wie?
Beste Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6919969108
Url: https://administrator.de/contentid/6919969108
Ausgedruckt am: 21.11.2024 um 17:11 Uhr
5 Kommentare
Neuester Kommentar
$users = foreach($file in Get-ChildItem "C:\csv\OnB-CSV" -File -Filter *.csv){
(Import-CSV $file.Fullname).Users
}
Add-AdGroupMember -Identity "G_Ordner_Alle_OnB_A" -members $users
Zitat von @UHD-Fischkopp:
Uii, das schaut ganz anders aus wie das, was ich geschustert habe.
Liege ich richtig, dass der erste Eintrag in der CSV so aussehen muss¿:
zu Zeile 4 jeder Ordner hat eine eigene Sicherheitsgruppe,
Uii, das schaut ganz anders aus wie das, was ich geschustert habe.
Liege ich richtig, dass der erste Eintrag in der CSV so aussehen muss¿:
"SamAccountName" "G_MA_Ordner_Alle_Onboarding_AE"
user1
User2
User3
zu Zeile 4 jeder Ordner hat eine eigene Sicherheitsgruppe,
"SamAccountName" "G_MA_Ordner_Alle_Personal_AE"
user1
User2
Nein laut dem oberen Code Code muss die CSV so aussehen
"Users"
"User1"
"User2"
"User3"
Für deine Variante der Dateien sähe das aber stattdessen so aus
foreach($file in Get-ChildItem "C:\csv\OnB-CSV" -File -Filter *.csv){
# Datei importieren
$csv= Import-CSV $file.Fullname -Delimiter " "
# Gruppenname extrahieren
$group = ($csv | Get-Member -MemberType NoteProperty | ? Name -ne "SamAccountName" | select -First 1).Name
# Members
$members = $csv.SamAccountName
if ($members.Count -gt 0 -and $group -ne ''){
# Member der Gruppe hinzufügen.
Add-AdGroupMember -Identity $group -members $members
}
}