none
verschachtelte Kommandos RRS feed

  • Frage

  • Hallo,

    ich brauche mal kurz Hilfe.

    Folgendes funktioniert einwandfrei:

    $SID=(Get-ADUser myaccount -Server myolddomain.net:3268).SID.Value
    Get-ADUser -Filter 'SIDhistory -eq $SID' -Server mynewdomain.net -Properties SIDhistory

    Wie bekomme ich das als Einzeiler hin?

    Vielen Dank,

    Michael

    Dienstag, 5. Juli 2016 12:53

Antworten

  • > PS H:\> Get-ADUser -Filter "SIDhistory -eq $((Get-ADUser
    > myaccount -Server myolddomain.net:3268).SID.Value)" -Server
    > mynewdomain.net -Properties SIDhistory
     
    Hab grad mal ein wenig mit -filter rumgespielt - scheint als wenn das da
    tatsächlich nicht funktionieren würde...
     
    Mit -LDAPFilter hatte ich Erfolg:
     
    get-aduser -LDAPfilter "( SIDhistory=$((Get-ADUser
    myaccount -Server myolddomain.net:3268).SID.Value) )"
     
    Konnte das mangels SID History aber nicht verifzieren - das hier
    funktioniert (und funktioniert _nicht_ mit -Filter):
     
    get-aduser -LDAPfilter "(samaccountname=$( (get-aduser admin).name ))"
     
    • Als Antwort markiert Assing Mittwoch, 6. Juli 2016 14:01
    Dienstag, 5. Juli 2016 15:47
  • Das liegt an der besonderen Konstruktion bzw. der besonderen Syntax des -Filter. Parameters. Da gibt es meines Wissens keinen einfachen Weg.

    Wenn es aber unbedingt sein muß, geht es, allerdings nur von hinten durch die Brust ins Auge: ;-)
     
    & ([scriptblock]::create("Get-ADUser -Filter 'SIDhistory -eq ""$((Get-ADUser myaccount -Server myolddomain.net:3268).SID.Value)""' -Server mynewdomain.net -Properties SIDhistory"))
     
    Grüße, Denniver



    Blog: http://bytecookie.wordpress.com

    Neu: Powershell Code Manager v5 ! Link
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Dienstag, 5. Juli 2016 22:47
    Moderator

Alle Antworten

  • Sollte so gehen:
     
    Get-ADUser -Filter "SIDhistory -eq $((Get-ADUser myaccount -Server
    myolddomain.net:3268).SID.Value)" -Server mynewdomain.net
    -Properties SIDhistory
     
    Dienstag, 5. Juli 2016 13:23
  • gute Idee, funktioniert nur leider nicht. Hatte ich vorher schon versucht.
    Ich denke, dass Problem liegt in der Verwendung der " und '
    Die folgenden zwei Zeilen liefern gar kein Ergebnis:

    Get-ADUser -Filter 'SIDhistory -eq "$(Get-ADUser myaccount -Server myolddomain.net:3268).SID.Value"' -Server mynewdomain.net -Properties SIDhistory

    Get-ADUser -Filter "SIDhistory -eq '$(Get-ADUser myaccount -Server myolddomain.net:3268).SID.Value'" -Server mynewdomain.net -Properties SIDhistory

    Diese Zeile liefert eine Fehlermeldung:

    Get-ADUser -Filter "SIDhistory -eq $(Get-ADUser myaccount -Server myolddomain.net:3268).SID.Value" -Server mynewdomain.net -Properties SIDhistory

    Dienstag, 5. Juli 2016 14:10
  • > /Get-ADUser -Filter /*/"/*/SIDhistory -eq /*/'/*/$(Get-ADUser
    > myaccount -Server myolddomain.net:3268).SID.Value/*/'"/*/-Server
    > mynewdomain.net -Properties SIDhistory/
     
    Ich hatte eine Klammer mehr...
     
    > Diese Zeile liefert eine Fehlermeldung:
     
    Welche? :)
     
    Dienstag, 5. Juli 2016 14:38
  • PS H:\> Get-ADUser -Filter "SIDhistory -eq $((Get-ADUser myaccount -Server myolddomain.net:3268).SID.Value)" -Server mynewdomain.net -Properties SIDhistory

    Get-ADUser : Fehler beim Analysieren der Abfrage: "SIDhistory -eq S-1-5-21-1409082233-602609370-839522115-420243" Fehlermeldung: "syntax error" an folgender Position: "16".
    In Zeile:1 Zeichen:1
    + Get-ADUser -Filter "SIDhistory -eq $((Get-ADUser myaccount -Server myolddomain.net:32 ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : ParserError: (:) [Get-ADUser], ADFilterParsingException
        + FullyQualifiedErrorId : Fehler beim Analysieren der Abfrage: "SIDhistory -eq S-1-5-21-1409082233-602609370-839522115-420243" Fehlermeldung: "syntax error" an folgender Position: "16".,Microsoft.ActiveDirectory.Management.Commands.GetADUser

    Dienstag, 5. Juli 2016 15:00
  • > PS H:\> Get-ADUser -Filter "SIDhistory -eq $((Get-ADUser
    > myaccount -Server myolddomain.net:3268).SID.Value)" -Server
    > mynewdomain.net -Properties SIDhistory
     
    Hab grad mal ein wenig mit -filter rumgespielt - scheint als wenn das da
    tatsächlich nicht funktionieren würde...
     
    Mit -LDAPFilter hatte ich Erfolg:
     
    get-aduser -LDAPfilter "( SIDhistory=$((Get-ADUser
    myaccount -Server myolddomain.net:3268).SID.Value) )"
     
    Konnte das mangels SID History aber nicht verifzieren - das hier
    funktioniert (und funktioniert _nicht_ mit -Filter):
     
    get-aduser -LDAPfilter "(samaccountname=$( (get-aduser admin).name ))"
     
    • Als Antwort markiert Assing Mittwoch, 6. Juli 2016 14:01
    Dienstag, 5. Juli 2016 15:47
  • Das liegt an der besonderen Konstruktion bzw. der besonderen Syntax des -Filter. Parameters. Da gibt es meines Wissens keinen einfachen Weg.

    Wenn es aber unbedingt sein muß, geht es, allerdings nur von hinten durch die Brust ins Auge: ;-)
     
    & ([scriptblock]::create("Get-ADUser -Filter 'SIDhistory -eq ""$((Get-ADUser myaccount -Server myolddomain.net:3268).SID.Value)""' -Server mynewdomain.net -Properties SIDhistory"))
     
    Grüße, Denniver



    Blog: http://bytecookie.wordpress.com

    Neu: Powershell Code Manager v5 ! Link
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Dienstag, 5. Juli 2016 22:47
    Moderator
  • Hallo Denniver und Martin,

    zunächst mal vielen Dank für die Hilfe.
    Nein, das muss natürlich nicht unbedingt als Einzeiler gelöst werden. Es hatte mich nur interessiert, warum ich es nicht hinbekommen habe.

    Die Lösung von Denniver funktioniert tatsächlich, auch wenn ich nicht wirklich verstehe, warum ;-)

    Nochmal Danke und Gruß,

    Michael

    Mittwoch, 6. Juli 2016 14:00