Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

nick7inc



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Запуск
Код:
CALL :proceed_registry_users_addpar  "defuser"  "\SOFTWARE\Microsoft\Windows\CurrentVersion\UserProfileEngagement" "ScoobeSystemSettingEnabled" REG_DWORD "0"
 
Код:
Код:
:proceed_registry
 
set REGCMD="%SystemRoot%\System32\reg.exe"
set MYLOGFILE="%~n0%~x0.log"
 
echo "-[Registry]-">>%MYLOGFILE%
echo "Command: 'reg %*'">>%MYLOGFILE%
%REGCMD% %*>>%MYLOGFILE% 2>>&1
IF NOT "%ERRORLEVEL%"=="0" (
 echo "Error processing command, ERRORLEVEL=%ERRORLEVEL%">>%MYLOGFILE%
 goto :eof
 )
goto :eof
 
:proceed_registry_users_addpar
REM 1st parameter - "defuser", "defuser_only" or "-" to add, the only or not to default user profile, 2nd - relatime registry path (key), starting from slash, e.g. "\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList".
REM 3rd - parameter name, 4th - parameter type, 5th - value, 6th, 7th, 8th,... - same as 3-5 (optional)
 
IF "%~2"=="" goto :eof
 
set MYLOGFILE="%~n0%~x0.log"
PUSHD "%Public%\.."
set UserProfiles="%cd%"
set UserProfiles=%UserProfiles:"=%
POPD
 
for /f "tokens=2*" %%A in (
 'reg query "HKEY_CURRENT_USER\Volatile Environment" /f USERPROFILE 2^>^&1^|findstr /C:"USERPROFILE"'
 ) do set CURUSRPROFILELOC="%%~B\ntuser.dat"
set CURUSRPROFILELOC=%CURUSRPROFILELOC:"=%
IF not exist "%CURUSRPROFILELOC%" (
 echo "Error detecting current user registry profile!"
 echo "Error detecting current user registry profile!">>%MYLOGFILE%
 goto :eof
)
echo "Current user registry profile '%CURUSRPROFILELOC%'">>%MYLOGFILE%
 
 
 
 
IF /I "%~1"=="defuser" call :proceed_registry_users_addpar.1 %*
IF /I "%~1"=="defuser_only" (
 call :proceed_registry_users_addpar.1 %*
 goto :eof
)
echo "-[Registry - all users]-">>%MYLOGFILE%
for /f "tokens=2*" %%A in (
 'reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /f ProfileImagePath /s 2^>^&1^|findstr /C:"ProfileImagePath"^|findstr /C:"%UserProfiles%"'
 ) do call :proceed_registry_users_addpar.2 "%%~B" %*
 
 goto :eof
 
 
:proceed_registry_users_addpar.2
REM Removing 1st parameter to have same pars prder as in :proceed_registry_users_addpar
set FNAME="%~1\ntuser.dat"
set FNAME=%FNAME:"=%
if /I "%CURUSRPROFILELOC%"=="%FNAME%" (
 call :proceed_registry_users_addpar.3 %*
 goto :eof
)
shift /1
 
if NOT exist "%FNAME%"  (
   echo "File '%FNAME%' not found!">>%MYLOGFILE%
   goto :eof
   )
   
Echo "Working with '%FNAME%'">>%MYLOGFILE%
call :proceed_registry load HKU\TEMPUSER "%FNAME%"
if "%ERRORLEVEL%"=="0" goto :proceed_registry_users_addpar.2.cycle
echo "File '%FNAME%' is BUSY!">>%MYLOGFILE%
goto :eof
:proceed_registry_users_addpar.2.cycle
if "%~3"=="" goto :proceed_registry_users_addpar.2.fin.1
call :proceed_registry add "HKU\TEMPUSER%~2" /V "%~3" /T %4 /D "%~5" /F
shift /3
shift /3
shift /3
goto :proceed_registry_users_addpar.2.cycle
:proceed_registry_users_addpar.2.fin.1
call :proceed_registry unload HKU\TEMPUSER    
goto :eof
 
 
 
:proceed_registry_users_addpar.3
shift /1
Echo "Working with 'HKEY_CURRENT_USER'">>%MYLOGFILE%
:proceed_registry_users_addpar.3.cycle
if "%~3"=="" goto :proceed_registry_users_addpar.3.fin.1
call :proceed_registry add "HKEY_CURRENT_USER%~2" /V "%~3" /T %4 /D "%~5" /F
shift /3
shift /3
shift /3
goto :proceed_registry_users_addpar.3.cycle
:proceed_registry_users_addpar.3.fin.1
goto :eof
 
 
 
:proceed_registry_users_addpar.1
IF "%~2"=="" goto :eof
echo "-[Registry - default user]-">>%MYLOGFILE%
call :proceed_registry load HKLM\defuser %USERPROFILES%\default\ntuser.dat
:proceed_registry_users_addpar.1.cycle
if "%~3"=="" goto :proceed_registry_users_addpar.1.fin
call :proceed_registry add "HKLM\defuser%~2" /V "%~3" /T %4 /D "%~5" /F
shift /3
shift /3
shift /3
goto :proceed_registry_users_addpar.1.cycle
:proceed_registry_users_addpar.1.fin
call :proceed_registry unload HKLM\defuser
goto :eof
 
 

Всего записей: 1138 | Зарегистр. 04-05-2007 | Отправлено: 11:34 07-12-2021 | Исправлено: nick7inc, 11:42 07-12-2021
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru