Zwei ADs vergleichen via Powershell mir CSV Export
Hi,
sagt mal, ich habe hier zwei ADs.
Anhand eines Exports diverser Attribute von AD 1 wurde in AD 2 mehrere OUs gefüllt mit neuen Benutzern( Massenanlage), dummerweise wurde versäumt hier den SamAccountName als Referenz zu hinterlegen. Jetzt habe ich hier tausende Accounts und die Benutzer der anderen Domäne müssen benachrichtigt werden.
Jetzt kann ich nur einen Vornamen und Nachnamen vergleich durchführen.
Ich würde gerne alle Benutzer aus AD 1 auslesen und speichern, diese mit Vorname, Nachname, Ort, PLZ vergleichen, bei einem Treffer möchte ich später im CSV File folgendes drinstehen haben:
Surname,GivenName,Name,SamAccountName,SamAccountname-AD2,Enabled,AD2-Aktiviert
Oder hat jemand eine bessere Idee? Ziel ist es, den Report später auf Benutzer zu beschränken die in den letzten 2 Wochen angelegt wurden. Aber erstmal müssen alle aktiven Benutzer vergleichen werden.
Freu mich auf nette Beiträge.
LG Heiko
sagt mal, ich habe hier zwei ADs.
Anhand eines Exports diverser Attribute von AD 1 wurde in AD 2 mehrere OUs gefüllt mit neuen Benutzern( Massenanlage), dummerweise wurde versäumt hier den SamAccountName als Referenz zu hinterlegen. Jetzt habe ich hier tausende Accounts und die Benutzer der anderen Domäne müssen benachrichtigt werden.
Jetzt kann ich nur einen Vornamen und Nachnamen vergleich durchführen.
Ich würde gerne alle Benutzer aus AD 1 auslesen und speichern, diese mit Vorname, Nachname, Ort, PLZ vergleichen, bei einem Treffer möchte ich später im CSV File folgendes drinstehen haben:
Surname,GivenName,Name,SamAccountName,SamAccountname-AD2,Enabled,AD2-Aktiviert
Oder hat jemand eine bessere Idee? Ziel ist es, den Report später auf Benutzer zu beschränken die in den letzten 2 Wochen angelegt wurden. Aber erstmal müssen alle aktiven Benutzer vergleichen werden.
Freu mich auf nette Beiträge.
LG Heiko
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 456373
Url: https://administrator.de/contentid/456373
Ausgedruckt am: 21.11.2024 um 20:11 Uhr
3 Kommentare
Neuester Kommentar
CSV importieren, User über Get-ADUser Einlesen und dann beide Objekte vergleichen mit
Compare-Object mit Parametern -IncludeEqual -ExcludeDifferent und -Properties, fertig.
Skript für Aktualisierung der User im Active Directory
Compare-Object mit Parametern -IncludeEqual -ExcludeDifferent und -Properties, fertig.
Skript für Aktualisierung der User im Active Directory
$csv = Import-CSV .\import.csv -Delimiter ";"
$users = Get-ADUser -Filter * -Properties surname,givenname,city,postalcode
Compare $users $csv -IncludeEqual -ExcludeDifferent -Property Surname,Givenname,PostalCode,City -PassThru | select Surname,Givenname,Postalcode,City,SamAccountName,Enabled | export-csv .\export.csv -Delimiter ";" -NoType -Encoding UTF8
Moin,
ein Lösungsansatz:
Damit erstmal alle User des AD1 in eine CSV schreiben. Die rübertragen zum AD2 und dort
hth
Erik
ein Lösungsansatz:
get-aduser -filter * -properties samaccountname,sn,givenname,city,postalcode | export-csv ad1.csv -delimiter ";" -notypeinformation -encoding utf8
Damit erstmal alle User des AD1 in eine CSV schreiben. Die rübertragen zum AD2 und dort
$ad1 = import-csv ad1.csv
foreach($user in $ad1) {
$ad2user = ""
$ad2user = get-aduser -filter {(sn -eq "$user.sn") -and (givenname -eq "$user.givenname")
if($ad2user) {
# Hier den Treffer in ein neues CSV schreiben
}
}
hth
Erik