none
DomJoin per PS inkl. Description RRS feed

  • Frage

  • Hallo zusammen,

    seit einiger Zeit nutze ich erfolgreich den DomJoin per PS.
    Jedoch muss ich noch händisch die Description nachpflegen.

    Mein PS-Befehl sieht folgendermaßen aus:
    Add-Computer –DomainName {Domain.name} –OUPath „OU=Organisationseinheit,DC=Domain,DC=name” –Credential domain\admin

    Kann ich die Description im Befehl mitgeben ?

    Grüße
    Mark

    Mittwoch, 14. Dezember 2011 20:49

Antworten

  • Hallo Mark und KloinerFeigling,

    der Vorschlag von KloinerFeigling83 wird so nicht funktionieren. Das Kommando setzt voraus, das Du schon in der Domäne bist und auch noch administrative Rechte hast. Ohne ein Skript wird Deine Aufgabe nicht zu lösen sein. Ich habe da mal was zusammengeklimpert:

    $cred = $host.UI.PromptForCredential("Anmeldeinformationen der Zieldomäne eingeben", "Bitte geben Sie Benutzernamen und Kennwort an","","NetBiosUsername")
    $dom = "spielwiese.intern" #Domänenname
    $desc = "Testbeschreibung2" #Beschreibung
    $ou = "CN=Computers,DC=spielwiese,dc=intern" #Hier die entsprechende OU eintragen
    $FQDNDC= "FQDN_DES_DOMAINCONTROLLERS" #Ein erreichbarer DC
    $comp = add-computer -domain $dom -oupath $ou -credential $cred -passthru
    #Nun wird es kompliziert
    $dnnewcomp = "CN=$($comp.computername),$($ou)"
    $credpwd = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($cred.password))
    $compaccount = new-object DirectoryServices.DirectoryEntry("LDAP://$($FQDNDC)/$($dnnewcomp)",$cred.Username,$credpwd)
    $compaccount.description = $desc
    $compaccount.SetInfo()
    

    Das ganze könntest Du jetzt noch schick machen durch eine GUI oder zumindest mit read-host die Parameter abfragen.

    @KloinerFeigling

    Das liegt mir schon lang auf dem Herzen: Grüß Marcel Davis von mir :-).
    Ich konnte es mir einfach nicht verkneifen......

    Viele Grüße

    Frank


    -- Frank Röder blog.iteach-online.de --
    Donnerstag, 15. Dezember 2011 19:43

Alle Antworten

  • hi,

    also soweit ich weiß gibt es da kein switch, aber du kannst es per adsi machen z.B.:

     

    $dc = [ADSI]"LDAP://CN=testpc,ou=testou,DC=testdomain,DC=local"
    $dc.psbase.InvokeSet('description', 'test')
    $dc.setInfo()
    


     


    Donnerstag, 15. Dezember 2011 17:06
  • Hallo Mark und KloinerFeigling,

    der Vorschlag von KloinerFeigling83 wird so nicht funktionieren. Das Kommando setzt voraus, das Du schon in der Domäne bist und auch noch administrative Rechte hast. Ohne ein Skript wird Deine Aufgabe nicht zu lösen sein. Ich habe da mal was zusammengeklimpert:

    $cred = $host.UI.PromptForCredential("Anmeldeinformationen der Zieldomäne eingeben", "Bitte geben Sie Benutzernamen und Kennwort an","","NetBiosUsername")
    $dom = "spielwiese.intern" #Domänenname
    $desc = "Testbeschreibung2" #Beschreibung
    $ou = "CN=Computers,DC=spielwiese,dc=intern" #Hier die entsprechende OU eintragen
    $FQDNDC= "FQDN_DES_DOMAINCONTROLLERS" #Ein erreichbarer DC
    $comp = add-computer -domain $dom -oupath $ou -credential $cred -passthru
    #Nun wird es kompliziert
    $dnnewcomp = "CN=$($comp.computername),$($ou)"
    $credpwd = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($cred.password))
    $compaccount = new-object DirectoryServices.DirectoryEntry("LDAP://$($FQDNDC)/$($dnnewcomp)",$cred.Username,$credpwd)
    $compaccount.description = $desc
    $compaccount.SetInfo()
    

    Das ganze könntest Du jetzt noch schick machen durch eine GUI oder zumindest mit read-host die Parameter abfragen.

    @KloinerFeigling

    Das liegt mir schon lang auf dem Herzen: Grüß Marcel Davis von mir :-).
    Ich konnte es mir einfach nicht verkneifen......

    Viele Grüße

    Frank


    -- Frank Röder blog.iteach-online.de --
    Donnerstag, 15. Dezember 2011 19:43
  • Hallo zusammen,

    und danke für eure Antworten !

    @Frank

    Das Skript wird am Montag getestet, ich werde berichten ..... :)

    Grüße
    Mark

    Samstag, 17. Dezember 2011 19:58
  • Hallo Frank,

    in meiner Test-VM funktioniert das Skript super - DANKE !

    Gibt es auch die Möglichkeit die Description noch abfragen zu lassen ?
    (So wie die Credentials)


    Grüße
    Mark

    Samstag, 17. Dezember 2011 21:40
  • Hallo Mark,

    ersetzte folgende Zeile:

     

    $desc = "Testbeschreibung2" #Beschreibung
    
    

    durch diese:

    $desc = read-host "Beschreibung eingeben"
    

    Viele Grüße

    Frank

     


    -- Frank Röder blog.iteach-online.de --
    Sonntag, 18. Dezember 2011 09:40
  • Hi Frank,

    Funktioniert perfekt.

    Danke für Deine Hilfe !!!

    Grüße
    Mark

    Sonntag, 18. Dezember 2011 12:37