Blog de ILINFO

Trucs et astuces

Blog ILINFO Active DIrectory MIIS LDAP ADAM PCA PRA BCP DRP

Log in

Gpresult Access Denied

by Emmanuel Dreux mars 30, 2009 23:31

Problème:

Après une migration de domaine réalisée à l'aide d'ADMT les utilisateurs reçoivent un ACCESS DENIED lors de l'utilisation de Gpresult.exe.
Problème cosmétique, la commande se déroule pourtant correctement.
En lançant à distance l'outil rsop.msc, 2 SID sont proposés pour le même utilisateur.

Explication:

Le problème survient du fait que sous le namespace root\RSOP\Users, l'ensemble des SID des utilisateurs qui se sont logués sur la station et qui ont par conséquent eu des GPO appliquées sont stockés sous ce namespace.
Lors du gpresult, celui ci fait une requête WMI et tente de récupérer les informations de l'utilisateur. Il subsiste le SID de l'utilisateur avant migration et gpresult s'enmêle alors les pinceaux, même si à priori les permissions semblent correctement positionnées.

Résolution:

Pour remédier à ce problème, il suffit de supprimer toutes les entrées "SID" sous le namespace root\RSOP\Users à l'aide du script ci dessous.

Ces entrées seront dynamiquement recréées lorsque les GPO se réappliqueront à un utilisateur logué, elles peuvent donc être supprimer sans impact.

--------------------   RepairWMI.vbs     ---------------------
strComputer = "."
Call EnumNameSpaces("root\RSOP\user")
 
Sub EnumNameSpaces(strNameSpace)
    'WScript.Echo strNameSpace
    Set objWMIService=GetObject _
        ("winmgmts:{impersonationLevel=impersonate}\\" & _
            strComputer & "\" & strNameSpace)

    Set colNameSpaces = objWMIService.InstancesOf("__NAMESPACE")

    For Each objNameSpace In colNameSpaces
        if ( Instr(objNameSpace.Name,"S_1_5_21")) Then
                wscript.echo "Suppression de " & objNameSpace.Name
                strPath = _
                "winmgmts:\root\RSOP\user:__Namespace.Name='" & objNameSpace.Name & "'"
                GetObject(strPath).Delete_

        Else
                Call EnumNameSpaces(strNameSpace & "\" & objNameSpace.Name)
        End If
    Next
End Sub
--------------------------------------------------------------

Actuellement noté 5.0 par 1 personne(s)

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

Partenaires
Assurez votre plan de continuit� d'activit� avec BCPAnywhere
Votre poste de travail partout dans le monde.

Mig6 votre solution de migration de vos postes de travail vers Windows 7
Migrez de XP vers Windows 7 avec Mig6.

Auteur

Freelance, Indépendant, expert Active Directory, Domaine et Sécurité.

Expert MIIS, ILM, FIM 2010,Kerberos, NTLM, SSL, PKI et chiffrement.