netzwerkdude
Goto Top

Powershell, New-ADUser: Was macht der Parameter "-Instance" eigentlich? + Handling von langen onelinern

Guten Morgen,

Frage 1:
bastle gerade an einem skript bei dem AD User angelegt werden sollen, und Frage mich was beim cmdlet "New-ADUser" der Parameter "-Instance" eigentlich macht?
Laut Beschreibung dachte ich das entspräche etwas dem "Kopieren" Dialog aus dem GUI "Active Directory Benutzer und Computer" ... aber scheinbar wird nie irgendwas kopiert vom Vorlagenuser - oder benutze ich den Parameter falsch?

In etwa so (weitere Parameter der übersicht halber weggelassen):
$VorlagenUser = Get-ADUser -identity VorlagenDude -Properties MemberOf
New-ADUser -Name NeuerDude -Instance $VorlagenDude

Siehe auch hilfe zum New-ADUser:
https://docs.microsoft.com/en-us/powershell/module/addsadministration/ne ...

Aktuell schicke ich als Lösung einen:
$Vorlagenuser | Select-Object -ExpandProperty memberof | Add-ADGroupMember -members $NeuerDude
hinterher, das geht, aber sollte doch auch in einem schritt gehen...


Frage 2:
Ich habe im ISE irgendwann am ende, nachdem ich alle Parameter für den neuen user abgefragt habe eine ziemlich langen befehl:
New-ADUser -Name "bla" -GivenName "bob" -Surname "dude" -path .... etc. also etwa 20 parameter in einer linie
da ISE kein Word Wrap macht (oder gehts?) - wie kann ich solche langen one liner sinnvoll handeln?

Vielen Dank im Voraus

MFG
NetzwerkDuke

Content-Key: 364750

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

Printed on: May 21, 2024 at 10:05 o'clock

Mitglied: 135333
Solution 135333 Feb 14, 2018 updated at 10:46:32 (UTC)
Goto Top
Zitat von @NetzwerkDude:
In etwa so (weitere Parameter der übersicht halber weggelassen):
$VorlagenUser = Get-ADUser -identity VorlagenDude -Properties MemberOf
> New-ADUser -Name NeuerDude -Instance $VorlagenDude
Du musst natürlich alle zu ändernden Parameter zusätzlich angeben bzw. die Properties in der Instanz der Variablen $vorlagenuser anpassen, du kannst ja nicht zwei Objekte mit dem selben SamAccountName erstellen face-wink. Es werden nicht alle Eigenschaften übernommen bestimmte Eigenschaften sind IMHO ausgenommen.

Frage 2:
Ich habe im ISE irgendwann am ende, nachdem ich alle Parameter für den neuen user abgefragt habe eine ziemlich langen befehl:
New-ADUser -Name "bla" -GivenName "bob" -Surname "dude" -path .... etc. also etwa 20 parameter in einer linie
da ISE kein Word Wrap macht (oder gehts?) - wie kann ich solche langen one liner sinnvoll handeln?
Doch einfach den Backtick ` am Ende des Zeilensplits setzen.

Gruß Snap
Member: NetzwerkDude
NetzwerkDude Feb 14, 2018 at 10:55:55 (UTC)
Goto Top
Das beantwortet Frage2, Vielen Dank!

Aber wegen instance: also er meckert wenn man zuviel kopieren will (d.h. SamAccountName muss man extra angeben, habe es im beispiel ausgelassen, mein fehler...)
das memberof Objekt frisst er einfach auf - ohne fehler - aber auch ohne ihn zu verabeiten?
Mitglied: 135333
Solution 135333 Feb 14, 2018 updated at 11:01:44 (UTC)
Goto Top
Zitat von @NetzwerkDude:
das memberof Objekt frisst er einfach auf - ohne fehler - aber auch ohne ihn zu verabeiten?
Ist normal weil die Gruppenmitgliedschaft in Wirklichkeit keine Eigenschaft eines User-Objekts ist, es ist eine indirekt generierte Eigenschaft:
https://social.technet.microsoft.com/Forums/Lync/en-US/265391cf-fcd8-4c6 ...
Member: NetzwerkDude
NetzwerkDude Feb 14, 2018 at 11:08:34 (UTC)
Goto Top
hm, nagut, dann gelöst ... aber was kopiert denn instance dann überhaupt? bzw. wozu ist es gut?
Mitglied: 135333
135333 Feb 14, 2018 updated at 11:15:36 (UTC)
Goto Top
Hauptsächlich wenn man eine Instanz eines Users (Variable) in den Eigenschaften der Variable ändert bzw. man viel an einem Objekt ändern will ohne jedes mal für jede Eigenschaft eine Änderung im AD abzusetzen.
D.h. man holt sich eine Instanz eines Users, ändert die Eigenschaften von diesem in den Eigenschaften der Variablen und übergibt diese Instanz dann z.B an "Set-ADUser" um alle Änderungen in einem Rutsch zu verarbeiten.
aber was kopiert denn instance dann überhaupt?
Nur die direkten User-Eigenschaften (Telefonnummern, etc....) die zähle ich jetzt nicht alle auf kannst du ja selbst einfach mal ausprobieren.