Après le déploiement d’Internet Explorer 11 sur mes machines de test, je m’aperçois qu’il est impossible de se connecter avec un compte du domaine qui ne s’est jamais connecté sur la machine. Voici le message d’erreur :
Dans un premier temps, j’ai pensé à une coïncidence, j’ai donc pensé à vider la liste des profils utilisateur
Cependant, ce n’est pas ça, puisque le profil n’existe pas, je rappelle que seuls les utilisateurs ne s’étant jamais connectés sur la machine sont impactés par le problème.
Donc comme tout bon technicien, je vais un peu plus loin, me connecte avec un compte admin pour pouvoir analyser les logs et plus particulièrement l’EventViewer. Et effectivement, on en apprend davantage puisque l’on peut trouver cette erreur :
Et ici je comprends que c’est dû à l’installation d’Internet Explorer. Suite à cela, je tombe sur plusieurs articles ici et là, et je comprends alors que je ne suis pas seul dans cette situation.
Comprendre le problème : Que se passe-t-il ?
Comme décris dans le détail de l’événement 1509, l’utilisateur ne peut pas se connecter, car la copie du fichier iesqmdata_setup0.sqm échoue depuis C:\Users\Default\AppData\Local\Microsoft\Windows\Temporary Internet Files\SQM vers %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files\SQM. Si on regarde les droits appliqués a ce fichier, on remarque rapidement que seulement le compte SYSTEM et le groupe Administrateurs ont les droits sir ce fichier. Ce qui explique que le compte d’un utilisateur lambda ne puisse pas copier le fichier lors de la création du profil.
La faute à IEAK !
Le problème se produit lorsque l’on prépare le package avec IEAK. Il est donc susceptible de se produire avec IE9, IE 10 ou encore comme dans mon cas, avec IE11. Lors du déploiement le package IEAK va créer le fichier suivant : %USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files\SQM\iesqmdata_setup#.sqm puis va essayer (oui, essayer, car il est là le problème !) d’envoyer le fichier au serveur SQM (http://sqm.microsoft.com/sqm/ie/sqmserver.dll). Dans le cas d’une réussite de l’upload, pas de problème, car ce fichier est supprimé, par contre, dans le cas d’un échec le fichier reste là, avec ses droits merdiques…
Mais alors… d’où vient ce fichier ?
Le fichier *.sqm est créer à cause du CEIP (aka Microsoft Customer Experience Improvement Program). Eh oui, ce truc qu’en général nous n’acceptons pas. Et bien par défaut, il est activé. Et du coup, IEAK en profite pour nous l’activer par défaut sur Internet Explorer.
Des solutions ?
Si vous avez déjà déployé votre package sur des dizaines ou centaines de machines, alors il « suffit » de simplement supprimer le fichier iesqmdata_setup#.sqm sur toutes les machines qui posent problème. Rien d’exceptionnel, on peut faire avec un petit script au démarrage ou bien via SCCM.
Si vous n’avez pas encore déployé IE, mais que vous utilisez IEAK, alors vous pouvez prendre les devants. Voici quelques solutions :
Option 1
Supprimer ou donner les droits pour tous sur ce fichier après l’installation d’Internet Explorer. Vous pouvez créer un fichier VBS avec les lignes suivantes :
1 2 3 4 5 |
strFile = « c:\Users\Default\AppData\Local\Microsoft\Windows\Temporary Internet Files\SQM\iesqmdata_setup0.sqm »
Set objFSO = CreateObject(« Scripting.FileSystemObject »)
objFSO.DeleteFile(strFile) |
Option 2
Configurer la clé de registre « HKLM\Software\Microsoft\SQMClient\Windows\CEIPEnable » sur 0 pour désactiver Windows CEIP avant l’installation d’IE. Pour plus d’options concernant la désactivation de CEIP suivant ce KB : http://support.microsoft.com/kb/951282
Personnellement, j’ai opté pour cette solution via une GPO.
Option 3
Faire en sorte que les ordinateurs du domaine puissent accéder au serveur SQM : http://sqm.microsoft.com/sqm/ie/sqmserver.dll