|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - запрос в реестр удаленной машины, и выполнение действия по условию |
|
CMD/BAT - запрос в реестр удаленной машины, и выполнение действия по условию
|
Ветеран Сообщения: 2594 |
Профиль | Отправить PM | Цитировать опять начал вспоминать батники.. тяжко..
имеем список машин, подключаемся к каждой последовательно, имя компа обозначается переменной %%i Далее собсно запрашиваем список юзеров на машине, чтоб найти меня for /f %%a in ('reg query \%%i\hku') do ( reg query "\%%i\%%a\Volatile Environment" и если находящийся в этой ветке ключ username =myname, то выполнить действие. Допустим, сменить дефолтную раскладку на англ для этого юзера. собсно вопрос, как? |
|
Отправлено: 16:01, 22-02-2018 |
Ветеран Сообщения: 5380
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 18:10, 22-02-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2594
|
Профиль | Отправить PM | Цитировать спасибо
Строку цикла for при таком разделителе уже не надо? Я что-то синтаксис не понял. да, а почему переменную не подменяет именем машины? В батнике В логе - D:\Bats>reg add "\%i\HKEY_USERS\.DEFAULT\Keyboard Layout\Preload" /V 1 /T REG_SZ /F /D 00000409 ERROR: Invalid key name. Type "REG ADD /?" for usage. net use \\%1 /d - оно ниже. и в строке как вы описали, лог даёт - |
Последний раз редактировалось bredych, 27-02-2018 в 15:02. Отправлено: 15:10, 26-02-2018 | #3 |
Ветеран Сообщения: 2594
|
Профиль | Отправить PM | Цитировать а не может-ли тут влиять как-то недоступность разделов кроме HKCU & HKLM на удаленной машине?
|
Отправлено: 14:31, 28-02-2018 | #4 |
Ветеран Сообщения: 5380
|
Профиль | Отправить PM | Цитировать Попробуйте такой тестовый вариант с переменной:
@echo off set file=c:\regcomplist.txt for /f "Tokens=*" %%g in (%file%) do ( echo %%g>> c:\regquery.txt reg query "\\%%g\HKU\Volatile Environment">> c:\regquery.txt echo.>> c:\regquery.txt echo.>> c:\regquery.txt ) Как отрабатывает?? Так же добавьте еще один слэш перед переменной и проверяйте: |
|
------- Отправлено: 09:53, 01-03-2018 | #5 |
Ветеран Сообщения: 2594
|
Профиль | Отправить PM | Цитировать Цитата Казбек:
%i %i Цитата Казбек:
D:\Bats>reg add "\\%i\HKU\.DEFAULT\Keyboard Layout\Preload" /V 1 /T REG_SZ /D 00000409 /F ERROR: The network path was not found. D:\Bats>pause Press any key to continue . . . D:\Bats>for /F %a in ('reg query \\%i\hku') do ( REG QUERY "\\%i\%a\Volatile Environment" /v Username | find "myname" 1>nul if not errorlevel 1 reg add "\\%i\%a\Keyboard Layout\Preload" /V 1 /T REG_SZ /D 00000409 /F ) ERROR: The network path was not found. ... D:\Bats>for /F %a in ('reg query \\%i\hku') do ( REG QUERY "\\%i\%a\Volatile Environment" /v Username | find "myname" 1>nul if not errorlevel 1 reg add "\\%i\%a\Keyboard Layout\Preload" /V 1 /T REG_SZ /D 00000409 /F ) ERROR: The network path was not found. D:\bats\Bats>pause Press any key to continue . . . D:\bats\Bats>QUERY "\\%i\%a\Volatile Environment" /v Username | find "myname " 1>nul Invalid parameter(s) QUERY { PROCESS | SESSION | TERMSERVER | USER } Скрытый текст
@echo ON set DomainUser=kontora\myuser set /P DomainPassword=password... set FILELOG=%~n0.log set PCLIST=AD3.txt if exist %FILELOG% set PCLIST=%FILELOG% for /f "tokens=*" %%i in (%FILELIST%) do call :ENGLISH %%i goto RETURN :ENGLISH rem echo %%i>> D:\bats\regquery.txt rem reg query "\\%%i\HKU\Volatile Environment">> D:\bats\regquery.txt rem echo.>> D:\bats\regquery.txt rem echo.>> D:\bats\regquery.txt reg add "\\%%i\HKU\.DEFAULT\Keyboard Layout\Preload" /V 1 /T REG_SZ /D 00000409 /F pause for /f %%a in ('reg query \\%%i\hku') do ( REG QUERY "\\%%i\%%a\Volatile Environment" /v Username |find "myuser" >nul if not errorlevel 1 reg add "\\%%i\%%a\Keyboard Layout\Preload" /V 1 /T REG_SZ /D 00000409 /F ) pause :return на каждую из 2х строку запросов |
||
Последний раз редактировалось bredych, 05-03-2018 в 17:04. Отправлено: 17:55, 01-03-2018 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - сделать дамп с удаленной машины через cmd + программа | id12398046@vk | Скриптовые языки администрирования Windows | 0 | 02-03-2017 19:12 | |
WMI - [решено] Копирование файла с удаленной машины | iving | Скриптовые языки администрирования Windows | 4 | 15-01-2012 00:59 | |
VBS/WSH/JS - [решено] Выполнение скриптов на удаленной машине... в частности js | RUVATA | Скриптовые языки администрирования Windows | 12 | 15-10-2010 12:20 | |
Разное - Мак адрес удаленной машины | __sa__nya | Microsoft Windows 2000/XP | 2 | 04-08-2008 14:51 | |
Доступ - Автоматический ввод пароля для доступа к папке удаленной машины | AlexSystems | Microsoft Windows 2000/XP | 8 | 25-01-2007 15:04 |
|