No es la primera vez que me equivoco al crear un usuario en windows, pero lo que mas rabia me ha dado siempre ha sido tener que cambiar la ruta del perfil para que estuviera en concordancia. Por ejemplo si me habia equivocado y el usuario se llama Pedro pero lo he dado de alta como Perdo, era muy fácil renombrar el usuario pero su ruta seguiasiendo «c:\users\perdo\», esto que parece una nimiedad es bastante incomodo la hora de intuir rutas, etc.
Finalmente encontre el modo de hacerlo, tenia que hacerlo en tres pasos. 1 renombrar el usuario, 2 renombrar la carpeta de su perfil y 3 modificar el registro de modo que estuviera en concordancia con los cambios hecho.
Vamos a ver como se haria.
Cambio del nombre de usuario.
Primero procederemos a cambiar el nombre de usuario. El modo más fácil, es con el comando netplwiz. Escribiremos en el buscador de cortana(1), nwtplwiz(2), entonces nos saldrá el comando y pulsaremos en el(3)
Una vez en la ventana de netplwiz, elegimos el usuario en cuestion(1), vamos a propiedades(2) y cambiamos el nombre(3)
Cambio de Ruta del perfil
Ahora tenemos que cambiar la ruta del perfil del usuario que acabamos de cambiar su nombre.
Para ello iremos el explorador de windows(1) y pondremos %SystemDrive%\users (2)de este modo iremos a la carpeta donde están todos los usuarios(3). Generalmente esta carpeta suele ser c:\users\. Una vez dentro simplemente renombra la carpeta con el nombre del usuario que hemos cambiado «test echo» en nuestro caso.
Cambio de la Ruta del perfil en el registro.
Ya solo nos queda cambiar la ruta en el registro (ten mucho cuidado, te recomiendo hacer una copia de las llaves a modificar por si acaso), para ello abriremos el registro con regedit, e iremos a la ruta (1) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-3889500739-3802868755-856952652-1008 , sino sabes el sid del usuario, deberas entrar en todas las carpetas del ProfileList (4). Una vez en la carpeta correcta, hay que cambiarl valor ProfileImagePath con la carpeta correspondiente.
Con esto ya simplemente nos queda logearnos con nuestro recien cambiado usuario para comprobar que todo sigue en su sitio.
Truco Final
Sino quieres hacer todos estos pasos, puedes probar mi script en powershell con el no será necesarioo que hagas los cambios, simplemente pon el nombre del usuario que quieres cambiar, después pon el nombre final que quieres que tenga y hará los cambios por ti. Recuerda que este script no tiene ninguna garantia ;-), y es mejor que lo pruebes primero en un entorno de pruebas antes de hacerlo en uno de producción.
#Change user profile name and path #input for the user $oldname = Read-Host -Prompt 'Input then name of user you want to change:' Write-Host 'You write' $oldname #input for name name $newname = Read-Host -Prompt 'Input then name of user you want to change:' Write-Host 'You write as new name' $newname $currentuser=$env:username Write-Host $currentuser #to avoid changing current user if ($currentuser=$oldname) { Write-Output 'You can''t change the user you are logged in' exit } #change registry path $sid=Get-LocalUser -Name $oldname | Select-Object -ExpandProperty SID $path='HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\'+$sid $currentpath=Get-ItemProperty -path $path | select -ExpandProperty ProfileImagePath write-host 'Current path:' $currentpath #building the new path $newpath =$currentpath.Substring(0, $currentpath.lastIndexOf('\')) $newpath+="\"+$newname Set-Itemproperty -path $path -Name 'ProfileImagePath' -value $newpath $changedpath=Get-ItemProperty -path $path | select -ExpandProperty ProfileImagePath write-host 'Changed path:' $changedpath #change foldername Rename-Item -Path $currentpath -NewName $newpath #change username Rename-LocalUser -Name $oldname -NewName $newname
Espero que os sirva de ayuda.