Jump to content

PowerShell - unerwartetes Ergebnis


Direkt zur Lösung Gelöst von cj_berlin,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Ich möchte den Namen einer Gruppe über die SID auflösen. 

Dazu verwende ich: 

Get-CimInstance win32_group | where {$_.sid -eq "S-1-5-21-<meine Domain-ID>-513" }

Das Ergebnis ist allerdings: nichts

Warum?

Ich hätte jetzt erwartet, dass etwas zurückkommt, denn die Gruppe existiert und die SID ist eindeutig.

Bei 

Get-CimInstance win32_group | where {$_.sid -match "-513" }

erhalte ich zumindest 3 Ergebnisse zurück.

Ich bin verwirrt.

 

Danke vorab

4077

Geschrieben
vor 1 Minute schrieb BOfH_666:

Ist denn das eigentlich von Dir erwartete Ergebnis dabei?

 

Ja, das Ergebnis ist dabei. 

Ich habe dann weiter gefiltert mit "-and" und "-match '<Gruppennamen-Bestandteil>'".

Das ist nicht schön, aber funktioniert.

Was zur Ursprungsfrage zurück führt: Warum geht das mit der eindeutigen SID nicht? :ohje:
 

 

  • Beste Lösung
Geschrieben

Und wie ist es mit 

Get-CimInstance win32_group | where {$_.sid -match "\-513$" }

?

 

Ich würde anhand Deines Posts ja vermuten, dass die Domäne mehr als 5130 Objekte in ihrem langen Leben gehabt hat ;-) 

...aber bei mir funktioniert auch der erste Aufruf wie er soll :-) 

Geschrieben
vor 7 Minuten schrieb cj_berlin:

Und wie ist es mit 

Get-CimInstance win32_group | where {$_.sid -match "\-513$" }

 

 

OK, das funktioniert. Mit genau dem einen Ergebnis, dass ich haben möchte.

Alles andere nicht.

Ich probiere mal einen anderen Rechner und melde mich wieder, wenn ich etwas herausfinde.

Geschrieben (bearbeitet)
vor 10 Minuten schrieb tesso:

"Tut nicht" ist keine hilfreiche Fehlerbeschreibung.

 

Das ist richtig.

Aber Euere Code-Beispiele bringen bei mir keine Ergebnisse zurück. Keine Fehlermeldung, keine Werte.

vor 4 Minuten schrieb testperson:

 

$objSID = New-Object System.Security.Principal.SecurityIdentifier("<Deine SID>")
$objUser = $objSID.Translate([System.Security.Principal.NTAccount])
$objUser.Value

 

Ausnahme beim Aufrufen von "Translate" mit 1 Argument(en):  "Manche oder alle Identitätsverweise konnten nicht übersetzt werden."
In Zeile:2 Zeichen:1
+ $objUser = $objSID.Translate([System.Security.Principal.NTAccount])
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : IdentityNotMappedException

 

 

Lassen wir es gut sein. Es gibt eine (unbefriedigende) Lösung.

Bei Gelegenheit probiere ich weiter herum.

 

Danke 

4077

bearbeitet von 4077
Geschrieben (bearbeitet)
vor 59 Minuten schrieb 4077:

 

schon klar. :D

Es tut nur nicht. *seufz*

 

Nee ... offenbar nicht klar ... der Kollege meinte den Filter im Get-CimInstance Aufruf ...

 

Get-CimInstance win32_group -Filter "SID='S-1-5-21-<Domain-ID>-513'"

 

... was bei mir übrigens auch funktioniert ... genau wie der Befehl mit Where-Object.  ;-)

bearbeitet von BOfH_666
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...