How can i Save User ProfileList and check every logon if exist?

I’m trying to save every sid under:

“HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion\ProfileList”

to some directory and I’m trying to control every logon my backup SID’s exist or not under profilelist. if it’s not than I must import my saved profiles.

I tried with batch script which I wrote, but my script doing this when an user login and it isn’t good way to do this!

I am sharing it for you to understand what I want to do.

(script 1 must run with the user account without admin privileges.)

@echo on IF EXIST D:\Users\ (goto dvar) else goto quit :dvar echo dvar setlocal enabledelayedexpansion echo %username%>D:\Users\username.txt for /f "tokens=2 delims= " %%i in ('whoami /user /fo table /nh') do set usersid=%%i echo %usersid%>>D:\Users\username.txt echo %userprofile%>>D:\Users\username.txt IF EXIST D:\Users\%username% (goto GetUserinf) else goto quit

:GetUserinf
for /f “tokens=1 delims=.” %%a in (‘echo %userprofile%’) do set newpath=%%a
IF %newpath%==%userprofile% (goto quit) else goto run

:run
Dprofile2.bat

:quit
exit


(script 2 must run with admin privileges.)

@echo on

(
set /p user=
set /p usersid=
set /p oldpath=
)<C:\Windows\Temp\username.txt

for /f "tokens=1 delims=." %%a in ('echo %oldpath%') do set newpath=%%a
echo OLD path %oldpath% — NEW path=%newpath%

IF EXIST %newpath% (goto oldexist) else goto quit
:oldexist

:choice
set /P c=For continue "Y", For quit "N" [Y/N]?
if /I "%c%" EQU "Y" goto :reboot
if /I "%c%" EQU "N" goto :quit

:reboot
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList%usersid%" /v "ProfileImagePath" /t REG_EXPAND_SZ /d "%newpath%" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v "deleteprofile" /t REG_SZ /d "C:\Windows\system32\cmd.exe /q /c rmdir /s /q %oldpath%"

echo Windows Rebooting.
::shutdown -r -t 0

:quit
exit

I think with shell scripting this is really easy job but i dont know shell…

Can you help me please? I stuck so hard…

This site is not about batch files; it’s about Windows PowerShell, which is an entirely different technology. Have you considered posting in a more general-purpose site, such as ServerFault.com?