J'essaie de pré-remplir le répertoire personnel d'un utilisateur avant qu'il ne se connecte pour la première fois. Je voudrais le faire par programme. Actuellement, je peux créer un dossier, mais lorsqu'un utilisateur se connecte, il en crée un autre avec le domaine ajouté à la fin. Voici ce que j'ai fait jusqu'à présent.
@echo off
IF EXIST C:\USERS\%1 GOTO COMPLETE
GOTO FIRSTLOGON
:FIRSTLOGON
:: Create user folder on C:\
mkdir "C:\USERS\%1"
:: copy folder structure from template to new user folder
mkdir "c:\Users\%1\Desktop"
mkdir "c:\Users\%1\Documents"
mkdir "c:\Users\%1\Downloads"
mkdir "c:\Users\%1\Music"
mkdir "c:\Users\%1\Pictures"
:: Set rights on new folder
::: Remove inheritance, grant owner everything and admin everything
icacls "C:\USERS\%1" /inheritance:r /grant DOMAIN\%1:(OI)(CI)F
icacls "C:\USERS\%1" /grant %computername%\Administrator:(OI)(CI)F
GOTO END
:COMPLETE
echo Folder creation complete
:END
Cependant, le dossier ne sera pas le répertoire personnel de l'utilisateur. Je suppose que je vais devoir ajouter une clé de registre avec le GUID de l'utilisateur dans HKLM > SOFTWARE > Microsoft > Windows NT > CurrentVersion > ProfileList, mais je ne sais pas comment obtenir le GUID à partir du nom d'utilisateur, et si je dois faire autre chose.
Note : Je ne veux pas changer le répertoire d'origine de l'utilisateur pour chaque ordinateur, seulement pour celui auquel il se connecte.