none
Wenn AD-User vorhanden dann... RRS feed

  • Frage

  • Hallo.

    Mein Script möchte leider nicht so wie ich.. Ich poste es erstmal:

    cls
    # LÄD FUNKTION ZUM ÖFFNEN EINES INPUT-FENSTERS
    [void][Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic')

    $title = 'Neuer Nutzer'
    $msg   = 'Bitte Nachname des neuen Nutzers eingeben:'


    # ÖFFNET DAS INPUT-FENSTER
    $username = [Microsoft.VisualBasic.Interaction]::InputBox($msg, $title)
    $title = 'Neuer Nutzer'
    $msg   = 'Bitte Vorname des neuen Nutzers eingeben:'


    # ÖFFNET DAS INPUT-FENSTER

    $uservname = [Microsoft.VisualBasic.Interaction]::InputBox($msg, $title)

    $uservname1 = $uservname
    $uservname1.remove(1.30)

    $Account = $username.$uservname1
    if (Get-aduser $account)
    {
    $uservname.remove(2.30)
    $account = $username.$uservname
    }
    Else 
    {
    $account = $username.$uservname1
    }

    Das Problem hier ist, dass er nicht checkt, ob der Benutzer bereits vorhanden ist. Bei uns werden Nutzer mit Nachname.erster Buchstabe des Vornamens angelegt. Es kommt der Fehler : "Get- ADUser: Das Argument für den Parameter "Identity" kann nicht überprüft werden..." usw.

    Ich gehe mal davon aus, es fehlt noch ein Argument womit er was anfangen kann. Kann mir da vielleicht jemand helfen? Vielen Dank schon mal!

    Mit freundlichen Grüßen 

    Antenne1988


    • Bearbeitet antenne1988 Mittwoch, 27. September 2017 07:38
    Mittwoch, 27. September 2017 07:38

Antworten

  • > Ich gehe mal davon aus, es fehlt noch ein Argument womit er was anfangen kann. Kann mir da vielleicht jemand helfen? Vielen Dank schon mal!

    Get-ADUser wirft eine Terminating Exception, wenn der User nicht vorhanden ist (implizit verwendest Du den Parameter -Identity). Entweder Du arbeitest mit -Filter/-LDAPFilter, wobei dann bei Nichtvorhandensein einfach "nichts" zurückkommt, oder mit Try/Catch.

    Mittwoch, 27. September 2017 09:07

Alle Antworten

  • > Ich gehe mal davon aus, es fehlt noch ein Argument womit er was anfangen kann. Kann mir da vielleicht jemand helfen? Vielen Dank schon mal!

    Get-ADUser wirft eine Terminating Exception, wenn der User nicht vorhanden ist (implizit verwendest Du den Parameter -Identity). Entweder Du arbeitest mit -Filter/-LDAPFilter, wobei dann bei Nichtvorhandensein einfach "nichts" zurückkommt, oder mit Try/Catch.

    Mittwoch, 27. September 2017 09:07
  • Hallo,

    probiers mal mit $Account = $username + "." + $uservname1

    Zumindest gibt er dann den account als nachname.vorname aus.

    Grüße

    Dominik

    Mittwoch, 27. September 2017 11:45
  • $Account = $username+"."+$uservname1
    $User = Get-ADUser -Filter "sAMAccountName -eq $Account"

    so hab ich es jetzt versucht. da kommt aber die Fehlermeldung: Get-ADUser : Fehler beim Analysieren der Abfrage : "sAMAccountName -eq test.u" Fehlermeldung an folgender Position "20".

    Donnerstag, 28. September 2017 06:00
  • > $User = Get-ADUser -Filter "sAMAccountName -eq $Account"

    -Filter {samaccountname -eq "$Account"}

    Freitag, 29. September 2017 10:40
  • Damit ist zwar der Fehler weg, aber er findet den vorhandenen Nutzer nicht. wenn ich aber statt der  { , " benutze und 'Account' schreibe, funktioniert es komischerweise??? Ist das nicht eigentlich das gleiche?
    Montag, 2. Oktober 2017 05:20