Plenentair Geschrieben 7. November 2013 Teilen Geschrieben 7. November 2013 Hallo zusammen, ich brauch mal eure Hilfe, vielleicht fällt das einem ja sehr leicht.. Ich habe die Aufgabe bekommen, mit der PowerShell zwei AD Attribute abzugleichen. D.h. was das Script machen soll: Alle User in einer bestimme Searchroot/base auswählen und dann einfach: mailNickname = samAccountName; nur leider habe ich keine Ahnung wie ich das abbilden könnte... mailNickname ist meistens blank. Was ich im Internet gefunden habe, war jetzt: Get-QADUser -searchroot "Domain.xxxxxxxxxxx" -sizeLimit 0 | foreach { Set-QADUser $_ -ObjectAttributes @{mailNickname = $($_.samAccountName)} } leider ist QADUser wohl nicht Standard und darf bei uns auch nicht installiert werden. Die Frage ist jetzt, wie stell ich das Ganze dann mit dem Standard-Syntax dar? Dazu finde ich fast nichts in Google. (Nur Get-ADUser und Set-ADUser usw.) Wäre echt cool wenn mir einer weiter helfen könnte, da ich bisher kaum Kenntnisse in PowerShell habe. Ich hoffe ich bin dazu im richtigen Forum, leider habe ich nichts extra zu PowerShell gefunden. Danke im Voraus! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 7. November 2013 Teilen Geschrieben 7. November 2013 Hi, sollte eigentlich so gehen: Get-ADUser -Filter * -SearchBase "DC=BLAH, DC=INT" -Properties * Das sucht dir alle Benutzer raus. Dahinter kannst du dann ein Pipe Zeichen "|" setzen, und auf alle gefundenen Benutzer wird das nachfolgende Kommando ausgeführt. In diesem Fall: set-aduser -mailNickname {$_.SamAccountName} Ob das geklappt hat, kannst du dann z.B. so überprüfen: Get-ADUser -Filter * -SearchBase "DC=BLAH, DC=INT" -Properties * | where { $_.mailnickname -ne $_.SamAccountName} Das dürfte dann eigentlich keinen Benutzer mehr anzeigen, weil alle entsprechenden ja nun ihren Accountnamen als Mailnick eingetragen haben. EDIT: Natürlich ohne Gewähr, bevor du sowas auf dein Produktivsystem loslässt solltest du das zumindest erstmal an ein paar Testbenutzern ausprobieren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Plenentair Geschrieben 7. November 2013 Autor Teilen Geschrieben 7. November 2013 (bearbeitet) Danke schonmal! Ich hab das jetzt auf einen Benutzer ausgeführt. Als Fehlermeldung erhalte ich: "Set-ADUser : Es wurde kein Parameter gefunden, der dem Parameternamen "mailNick name" entspricht." Bearbeitet 7. November 2013 von Plenentair Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
SilentDemise Geschrieben 7. November 2013 Teilen Geschrieben 7. November 2013 es gibt auch keinen Parameter mailNickname auf dem Set-AdUser Cmdlet. Doku dazu: Set-ADUser Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Plenentair Geschrieben 7. November 2013 Autor Teilen Geschrieben 7. November 2013 get-ADUser -Filter 'SamAccountName -like "name"' | set-aduser -Add @{mailNickname="test123"} das hat funktioniert.. jetzt muss ich nurnoch das "test123" durch samaccountname austauschen.. jemand ne Ahnung? Danke! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 7. November 2013 Teilen Geschrieben 7. November 2013 Hi, dann musst du das Attribut hinzufügen bzw ändern: Set-ADUser -Add @{mailNickname=$_.SamAccountName} löschen kannst du ihn wie folgt: Set-ADUser -clear mailNickname Bei mir funktioniert das: Get-ADUser -Filter 'CN -like "*test*"' -SearchBase "DC=BLAH, DC=INT" -Properties * | Foreach {set-aduser -Identity $_ -Add @{mailNickname=$_.SamAccountName} } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Plenentair Geschrieben 7. November 2013 Autor Teilen Geschrieben 7. November 2013 (bearbeitet) in der Zeit wo du es geschrieben hast hab ich es selber realisiert: foreach ($_ in (get-ADUser -Filter 'SamAccountName -like "MitarbeiterName"' -SearchBase "OU=User,OU=Benutzer,OU=SPIRIT22,DC=spirit21,DC=de" -SearchScope subtree )) {set-aduser -identity $_.samAccountName -Add @{mailNickname= ($_.samAccountName)}} Vielen dank für eure Hilfe!! Clear dann so? get-ADUser -Filter * -SearchBase "OU=User,OU=Benutzer,OU=SPIRIT22,DC=spirit21,DC=de" -SearchScope subtree | Set-ADUser -clear mailNickname Bearbeitet 7. November 2013 von Plenentair Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.