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-Key: 634860

Url: https://administrator.de/contentid/634860

Printed on: April 25, 2024 at 20:04 o'clock

Member: erikro
erikro Dec 23, 2020 at 17:09:23 (UTC)
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
Member: Nagus
Nagus Dec 23, 2020 updated at 20:15:24 (UTC)
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
Member: erikro
Solution erikro Dec 24, 2020 at 08:30:35 (UTC)
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
Member: Nagus
Nagus Dec 28, 2020 at 09:01:55 (UTC)
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
Member: Nagus
Nagus Dec 28, 2020 at 14:28:53 (UTC)
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
                                    }
Member: erikro
erikro Dec 28, 2020 at 15:33:33 (UTC)
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