Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Проверка значения ключа реестра. (http://forum.oszone.net/showthread.php?t=242196)

RomanLis 07-09-2012 12:26 1984686

Проверка значения ключа реестра.
 
Здравствуйте!

Часто работаю с разными компьютерами, и приходится для удобства на всех запускать такой вот reg-файл (Для отключения постоянных запросов UAC):

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000000

Собственно вопрос - можно ли сделать проверку в батнике, которая бы смотрела значение этого ключа, и если оно равно 1 - запускала бы этот файл?

Спасибо!

gora 07-09-2012 12:47 1984694

Код:

@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 1984697

Код:

@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

)


Iska 07-09-2012 12:58 1984701

Цитата:

Цитата RomanLis
Собственно вопрос - можно ли сделать проверку в батнике, которая бы смотрела значение этого ключа, и если оно равно 1 - запускала бы этот файл? »

Можно, но не нужно.

gora 07-09-2012 12:59 1984702

Цитата:

Цитата Foreigner
Зачем проверка? Если при любом раскладе должен быть установлен параметр со значением 1? »

Цитата:

Цитата RomanLis
dword:00000000 »

Ему нужен 0, а проверка действительно не нужна. :) Если он конечно не собирается в дальнейшем восстанавливать исходное значение ключа, что не исключено.

Foreigner 07-09-2012 13:04 1984706

Цитата:

Цитата gora
Ему нужен 0, а проверка действительно не нужна. »

Я прочел еще раз задание и исправил ответ. Все таки проверка нужна. А вдруг там 0х05, как у меня например.

RomanLis 07-09-2012 13:14 1984716

Спасибо!

Проверка нужна для того, чтобы каждый раз не подтверждать добавление записи. В конечном счёте, чтобы не запускать вручную от имени администратора батник, сделал так:

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)

Идеально, всем спасибо :)


Время: 22:18.

Время: 22:18.
© OSzone.net 2001-