Sur une machine windows 7 fraîchement installée, toute nouvelle connexion échouait avec le message d'erreur Échec d'ouverture de session par le service Service de profil utilisateur. Impossible de charger le profil utilisateur.

Pour résoudre ce problème, il faut:

  • Rebooter en mode sans échec (ou se connecter avec un compte ayant les droits administrateur si possible)
  • Afficher les fichiers cachés et les fichiers système par l'explorateur windows.

  • Supprimer le C:\Users\Default\AppData\Local\Microsoft\Windows\Temporary Internet Files\Sqm\iesqmdata1.sqm (Si les cachés et systèmes, ne sont pas affichés, ce fichiers n'est pas visible sous l'explorateur)

  • Redémarrer la machine.

Les baies de stockage actuels (au moins les baies 3Par) permettant de créer des luns en dynamic provisionning (ou thin provisionning) proposent de récuprér l'espace disk désallouée dynamiquement par la création de fichiers contenant des zéros. En fonction de l'OS (Linux, Unix ou Windows), la procédure varie:

  • Linux/Unix : La création d'un fichier contenant des zéros se fait par la commande dd qui partie des commandes système de base. Par exemple, dd if=/dev/zero of=ZeroFile bs=1G count=1 permet de créer un fichier de 1Go. Il existe également sfill (présent dans le package secure-delete sous Debian) permet d'écrire des zéros dans les blocs libres. sudo sfill -v -l -l -z -I créera un fichier ne contenant que des zéros.

  • Sous Windows, il faut installer sdelete proposé par microsoft. Une fois l'outil installé, la commande sdelete -z x:\ d'écrire des zéros dans blocs inutilisés du lecteur x:\


Certaines choses simples deviennt très compliquées (en tout cas pour moi) lorsqu'on essaye de mettre au point des scripts sous windows. En effet, en fonction de langue choisi pendant l'installation, tous les messages d'erreurs semblent être localisés et il ne semble avoir de solution pour modifier cette localisation au sein d'une script simplement. Du coup, lors du scripting batch sous windows, pour pouvoir traiter les messages retournés, il faut:

  • coder en dur dans toutes les langues, les messages d'erreurs corrspondants (au moins 2 dans mon cas: anglais et français).

  • déterminer la langue d'installation de l'OS pour pouvoir les traiter.

Et à la question comment peut-on déterminer la langue d'installation de Windows? La réponse est très simple: la commande ping -n 1 localhost | find /i /C "Reply from 127.0.0.1: bytes=32" retourne 1 si windows est installé en anglais. La même commande retourne 0 s'elle est exécutée dans un envirionnement en français.