Показать полную графическую версию : [решено] Проверка значения ключа реестра.
RomanLis
07-09-2012, 12:26
Здравствуйте!
Часто работаю с разными компьютерами, и приходится для удобства на всех запускать такой вот reg-файл (Для отключения постоянных запросов UAC):
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000000
Собственно вопрос - можно ли сделать проверку в батнике, которая бы смотрела значение этого ключа, и если оно равно 1 - запускала бы этот файл?
Спасибо!
@Echo Off
Set sw="HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
Set prmtr=ConsentPromptBehaviorAdmin
For /F "tokens=2*" %%j In ('Reg Query %sw% /v %prmtr% ^| Find /I "%prmtr%"') Do Set type=%%j& Set val=%%k
If "%val%"=="0x1" Reg Add %sw% /v "%prmtr%" /t %type% /d "0x0" /f
Foreigner
07-09-2012, 12:54
@echo off
setlocal
set "regpath=hklm\software\microsoft\windows\currentversion\policies\system"
for /f "tokens=3" %%i in (' reg query "%regpath%" /v "consentpromptbehavioradmin" ') do set /a "value=%%i"
if "%value%"=="1" (
reg add "%regpath%" /v "consentpromptbehavioradmin" /t reg_dword /d 0 /f
)
Собственно вопрос - можно ли сделать проверку в батнике, которая бы смотрела значение этого ключа, и если оно равно 1 - запускала бы этот файл? »
Можно, но не нужно.
Зачем проверка? Если при любом раскладе должен быть установлен параметр со значением 1? »
dword:00000000 »Ему нужен 0, а проверка действительно не нужна. :) Если он конечно не собирается в дальнейшем восстанавливать исходное значение ключа, что не исключено.
Foreigner
07-09-2012, 13:04
Ему нужен 0, а проверка действительно не нужна. »
Я прочел еще раз задание и исправил ответ. Все таки проверка нужна. А вдруг там 0х05, как у меня например.
RomanLis
07-09-2012, 13:14
Спасибо!
Проверка нужна для того, чтобы каждый раз не подтверждать добавление записи. В конечном счёте, чтобы не запускать вручную от имени администратора батник, сделал так:
set "regpath=hklm\software\microsoft\windows\currentversion\policies\system"
for /f "tokens=3" %%i in (' reg query "%regpath%" /v "consentpromptbehavioradmin" ') do set /a "value=%%i"
if "%value%"=="1" (Others\Automated\UAC_Disable.reg)
Идеально, всем спасибо :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.