nagus
Goto Top

Powershell: AD-Gruppe wird nicht gefunden obwohl vorhanden

Moin zusammen,

ich hänge aktuell an dem Problem, dass ich einzelne Gruppen mit dem Befehlt Get-AdGroup oder Get-AdGroupMember nicht erhalte.
Der Gruppenname hat die folgende Syntax: XX Bereich AA Lesen YY
Die Gruppe ist eine Universal Gruppe

Wenn ich mir im AD das Object ansehe, dann lautet der Kanonische Name so: domäne.xyz/ou1/ou2/ou3/ou4/ou5/XX Bereich AA Lesen YY

Nur über prä Windows 2000 Gruppennamen kann ich die Gruppe finden.

Das ganze läuft in einem Skript und ich erhalte alle anderen Gruppen problemlos.

Woran liegt das und wie kann ich das umgehen?

Thx
Nagus

Content-ID: 634860

Url: https://administrator.de/forum/powershell-ad-gruppe-wird-nicht-gefunden-obwohl-vorhanden-634860.html

Ausgedruckt am: 22.12.2024 um 11:12 Uhr

erikro
erikro 23.12.2020 um 18:09:23 Uhr
Goto Top
Moin,

die ein oder andere Zeile Code wäre wirklich hilfreich. In meiner Glaskugel schimmert: Da sind Leertasten und keine Anführungszeichen. Leertasten in Namen? Brrrrrrr!

Liebe Grüße

Erik
Nagus
Nagus 23.12.2020 aktualisiert um 21:15:24 Uhr
Goto Top
Bitte sehr - aber der Code funktioniert!

foreach($g in $RefGroup.Split(";"))  
                    {
                        $GrpTemp = Get-adgroup $g
                        $GrpTemp.DistinguishedName
                        
                        Add-ADGroupMember -Identity $GrpTemp.DistinguishedName -Members $u.id -Confirm:$false
                        $MemberCheck = get-adgroupMember -Identity $GrpTemp | select name
                        
                        $MemberCheckStatus = "NOK"  
                        foreach($m in $MemberCheck)
                            {
                                $m = $m.name
                                if($m -eq $id)
                                    {
                                        $MemberCheckStatus = "OK"  
                                    }
                            }

                         If($MemberCheckStatus -eq "OK")  
                            {
                                Write-Log "$($u.id) --> $($G)" 4  
                                $MemberCheckStatus
                            }
                        else
                            {
                                Write-Log "$($u.id) --> $($G)" 2  
                                $MemberCheckStatus
                            }
                    }

Hier der Aufruf von der Konsole mit Fehlermeldung:
PS C:\windows\system32\windowspowershell\v1.0> Get-ADGroup "#XX Blblblabla Info"  
Get-ADGroup : Unter "DC=YYYYY,DC=com" kann kein Objekt mit der ID "#XX Blblblabla Info" gefunden werden.  
In Zeile:1 Zeichen:1
+ Get-ADGroup "#XX Blblblabla Info"  
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (#XX Blblblabla Info:ADGroup) [Get-ADGroup], ADIdentityNotFoundException
    + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,Microsoft.ActiveDirectory.Management.Commands.GetADGroup
Auch diese Gruppe liegt relativ tief in der AD (4 Ebene)

Und hier ohne Fehlermeldung
PS C:\windows\system32\windowspowershell\v1.0> Get-ADGroup administratoren


DistinguishedName : CN=Administratoren,CN=Builtin,DC=YYYYYY,DC=net
GroupCategory     : Security
GroupScope        : DomainLocal
Name              : Administratoren
ObjectClass       : group
ObjectGUID        : -----------------------------
SamAccountName    : Administratoren
SID               :--------------

Es werden auch sonst Gruppen mit Leerzeichen aufgelöst
erikro
Lösung erikro 24.12.2020 um 09:30:35 Uhr
Goto Top
Moin,

ich konnte das nachstellen mit folgendem Ergebnis:

Gruppe wurde ursprünglich mit Leerzeichen erstellt -> wird gefunden.
Gruppe wurde nachträglich umbenannt und der Prä-2000-Name nicht geändert -> wird nicht gefunden.
Gruppe wird umbenannt und der Prä-2000-Name angepasst -> wird gefunden.

So ein ###. face-wink

hth

Erik
Nagus
Nagus 28.12.2020 um 10:01:55 Uhr
Goto Top
Hey Erik,
ich hoffe Du hattest ein frohes Fest! face-wink
Erst mal vielen Dank für Deine Rückmeldung! Das wäre jetzt so ziemlich das Letzte worauf ich gekommen wäre! Vielen Dank ...
Dachte schon ich wäre doof.
Jetzt muss ich mir mal was überlegen, wie ich das abfange.

Das ganze ist nämlich Teil einer Benutzeranlage, bei der ich die Gruppen von Referenzusern zuweise.

Thx
Nagus
Nagus
Nagus 28.12.2020 um 15:28:53 Uhr
Goto Top
So - ne Lösung habe ich jetzt auch:

Ich hole mir erst mal die Gruppe über den Filter
 $GrpTemp = Get-adgroup -filter {name -like $g}
Dann weise ich die Gruppe zu und prüfe danach ob sie auch wirklich zugewiesen ist

Hier das ganze Schnipsel für den Teil
foreach($g in $RefGroup.Split(";"))  
                            {
                                $GrpTemp = Get-adgroup -filter {name -like $g}
                                
                        
                                Add-ADGroupMember -Identity $GrpTemp.SamAccountName -Members $u.Kürzel -Confirm:$false
                                $MemberCheck = get-adgroupMember -Identity $GrpTemp.SamAccountName | select name
                        
                                $MemberCheckStatus = "NOK"  
                                foreach($m in $MemberCheck.name)
                                    {
                                        #Write-host "$($m) in $($MemberCheck.name)" 
                                        if($m -eq $u.Kürzel)
                                            {
                                                $MemberCheckStatus = "OK"  
                                            }
                                            
                                    }

                                If($MemberCheckStatus -eq "OK")  
                                    {
                                        Write-Log "$($u.Kürzel) --> $($G) erfolgreich zugewiesen" 4  
                                        #$MemberCheckStatus
                                    }
                                else
                                    {
                                        Write-Log "$($u.Kürzel) --> $($G) nicht erfolgreich zugewiesen" 2  
                                        #$MemberCheckStatus
                                    }
erikro
erikro 28.12.2020 um 16:33:33 Uhr
Goto Top
Moin,

gerne. Freut mich, dass ich helfen konnte. Ja, auf so bescheuerte Ideen muss man ersmal kommen. Aber nach 30 Jahren Erfahrung mit Microsoftprodukten ... face-wink

Liebe Grüße

Erik