4077 30 Geschrieben 21. März 2019 Melden Teilen Geschrieben 21. März 2019 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 Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 21. März 2019 Melden Teilen Geschrieben 21. März 2019 (bearbeitet) 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 21. März 2019 von BOfH_666 Zitieren Link zu diesem Kommentar
4077 30 Geschrieben 21. März 2019 Autor Melden Teilen Geschrieben 21. März 2019 Die Gruppe "Domänen-Benutzer" möchte ich auch nicht entfernen, sondern nur die Gruppen, die ich mit der o.a. Syntax zurückerhalte nur ohne die "Domänen-Benutzer". Zitieren Link zu diesem Kommentar
BOfH_666 577 Geschrieben 21. März 2019 Melden Teilen Geschrieben 21. März 2019 (bearbeitet) 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 21. März 2019 von BOfH_666 Zitieren Link zu diesem Kommentar
4077 30 Geschrieben 22. März 2019 Autor Melden Teilen Geschrieben 22. März 2019 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. Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 24. März 2019 Melden Teilen Geschrieben 24. März 2019 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... Zitieren Link zu diesem Kommentar
4077 30 Geschrieben 25. März 2019 Autor Melden Teilen Geschrieben 25. März 2019 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 ..... Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 27. März 2019 Melden Teilen Geschrieben 27. März 2019 Dieses "manchmal" hab ich auch regelmäßig und bin dann froh, daß im gleichen Bürotrakt noch ein paar andere Powershell-Profis rumlungern Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.