Jump to content

Gleiche Syntax bringt unterschiedliche Ergebnisse


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

Empfohlene Beiträge

Hallo zusammen,
ich sehe gerade den Wald vor lauter Bäumen nicht und brauche mal eine Klaps auf den Hinterkopf.
Just nehme ich mir ein älteres Skriptchen (Gruppenwechsel von Usern per PowerShell) vor und passe es auf den neuen Job an.
An einer Stelle möchte ich alle Gruppen bis auf "Domänen-Benutzer" entfernen.

@(Get-ADPrincipalGroupMembership -Identity htestheimer | Where-Object {$_.Name -ne 'Domänen-Benutzer'} )

Wenn ich das so mit einem echten Benutzer (htestheimer) auf der Konsole eingebe, dann bekomme ich alle Gruppen zurück, in welcher der Benutzer ist ohne die Gruppe "Domänen-Benutzer".
Innerhalb des Skripts ist bei 
 

$entferne = @(Get-ADPrincipalGroupMembership -Identity $ziel | Where-Object {$_.Name -ne 'Domänen-Benutzer'} )

die Gruppe "Domänen-Benutzer" aber immer im Array mit drin. Die Variable $ziel ist auch beim Haltepunkt mit 'htestheimer' befüllt.
Für mich sind beide Syntax richtig.
Warum bekomme ich trotzdem unterschiedliche Ergebnisse?

 

Danke vorab

4077

Link zu diesem Kommentar

Wenns' was altes ist - könnte es sein, dass im Rest des Scriptes noch was Fehlerhaftes dabei ist?  ;-)  Normalerweise ist die Gruppe "Domänen-Benutzer" die primäre Gruppe eines jeden AD-Accounts und lässt sich nicht ohne Weiteres entfernen ... hilft das vielleicht weiter? <zwinker zwinker>  ;-)

bearbeitet von BOfH_666
Link zu diesem Kommentar

Ja, das war mir schon klar. Aber selbst wenn die Gruppe in der Liste mit dabei ist, kannst Du die "Liste entfernen". Die Gruppe Domänen-Benutzer würde das normalerweise nicht betreffen ... das meinte ich.

Ich weiß - kein guter Stil  - aber manchmal braucht man sowas ja trotzdem.

bearbeitet von BOfH_666
Link zu diesem Kommentar

Das war eine schwierige Geburt.
Anscheinend gibt es ein Problem mit dem "ä" in "Domänen-Benutzer. (Die Ur-Version des Skripts war auf englischsprachigem Server und da heisst die Gruppe ja "Domain User".)

Mit

$entferne = @((Get-ADPrincipalGroupMembership -Identity $ziel | Where-Object {$_.Name -notmatch '-Benutzer'} ))

geht es jetzt ohne Fehlermeldung. Ich verstehe es zwar nicht, aber mit der Lösung kann ich leben.

Link zu diesem Kommentar
Am 24.3.2019 um 12:47 schrieb daabm:

Für so was löst man ggf. die Prinzipale mit den zugehörigen .NET-Funktionen auf statt Strings zu verwenden :-) Oder man geht auf die Well Known SID. Die Domain SID kriegst aus Get-ADDomain, da mußt dann nur noch die 513 irgendwie anhängen...

Danke! Das ist der Klaps auf den Hinterkopf für zukünftige gleiche Problem. Hätte ich auch von selbst drauf kommen können, aber manchmal ..... ;-)

Link zu diesem Kommentar
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...