Benutzer mit den meisten Antworten
verschachtelte Kommandos

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 SIDhistoryWie bekomme ich das als Einzeiler hin?
Vielen Dank,
Michael
Antworten
-
> PS H:\> Get-ADUser -Filter "SIDhistory -eq $((Get-ADUser> myaccount -Server myolddomain.net:3268).SID.Value)" -Server> mynewdomain.net -Properties SIDhistoryHab grad mal ein wenig mit -filter rumgespielt - scheint als wenn das datatsächlich nicht funktionieren würde...Mit -LDAPFilter hatte ich Erfolg:get-aduser -LDAPfilter "( SIDhistory=$((Get-ADUsermyaccount -Server myolddomain.net:3268).SID.Value) )"Konnte das mangels SID History aber nicht verifzieren - das hierfunktioniert (und funktioniert _nicht_ mit -Filter):get-aduser -LDAPfilter "(samaccountname=$( (get-aduser admin).name ))"
- Als Antwort markiert Assing Mittwoch, 6. Juli 2016 14:01
-
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.- Bearbeitet Denniver ReiningMVP, Moderator Dienstag, 5. Juli 2016 22:53
- Als Antwort markiert Assing Mittwoch, 6. Juli 2016 14:01
Alle Antworten
-
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
-
-
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 -
> PS H:\> Get-ADUser -Filter "SIDhistory -eq $((Get-ADUser> myaccount -Server myolddomain.net:3268).SID.Value)" -Server> mynewdomain.net -Properties SIDhistoryHab grad mal ein wenig mit -filter rumgespielt - scheint als wenn das datatsächlich nicht funktionieren würde...Mit -LDAPFilter hatte ich Erfolg:get-aduser -LDAPfilter "( SIDhistory=$((Get-ADUsermyaccount -Server myolddomain.net:3268).SID.Value) )"Konnte das mangels SID History aber nicht verifzieren - das hierfunktioniert (und funktioniert _nicht_ mit -Filter):get-aduser -LDAPfilter "(samaccountname=$( (get-aduser admin).name ))"
- Als Antwort markiert Assing Mittwoch, 6. Juli 2016 14:01
-
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.- Bearbeitet Denniver ReiningMVP, Moderator Dienstag, 5. Juli 2016 22:53
- Als Antwort markiert Assing Mittwoch, 6. Juli 2016 14:01
-
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