|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Запись в реестр пользователя от администратора |
|
|
CMD/BAT - Запись в реестр пользователя от администратора
|
Новый участник Сообщения: 8 |
Добрый день. Решил написать небольшой батник, но столкнулся в проблемой.
Пользователь состоит в группе Пользователи. Запукает батник от имени Администратора. Такого содержания "REG ADD HKEY_CURRENT_USER\Control Panel..." естественно значение записывается в ветку Администратора, а не Пользователя. Как реализовать через батник запись в нужный раздел именно пользователя? Вариант с HKLM не подойдет. Есть способ работы через SID по пути "HCU\S-1-5-21-353...\Control Panel...", но опять же откуда батнику знать какой идентификатор у пользователя, если только заранее вручную не задать значение через переменную, а если машин много, то под каждого писать замучаюсь. Может как-то можно забить индентификатор в переменную автоматически ? Очень надо, выручайте. |
|
Отправлено: 11:11, 19-04-2021 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата Ins1der:
@echo off for /f "delims=" %%a in ('"wmic useraccount where name="ТУТ ИМЯ ПОЛЬЗОВАТЕЛЯ" get SID /value|find "^=""') do set "%%a" echo %SID% pause $user = [System.Security.Principal.NTAccount]::New("ТУТ ИМЯ ПОЛЬЗОВАТЕЛЯ") $SID = $user.Translate([System.Security.Principal.SecurityIdentifier]) $SID.Value |
|
Последний раз редактировалось alpap, 19-04-2021 в 14:17. Отправлено: 13:25, 19-04-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Спасибо за ответ! Первый вариант выдаёт SID администратора, второй через wmic интересный, но надо указывать имя пользователя %username% тут не пройдет, опять же из-за того что будет выводить "Администратор"
|
Отправлено: 15:22, 19-04-2021 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Ins1der, а зачем нужен запуск от имени администратора, если Вы планируете осуществлять запись в раздел пользователя?
|
Отправлено: 16:45, 19-04-2021 | #4 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата Ins1der:
|
||
Отправлено: 17:13, 19-04-2021 | #5 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Дело в том, что помимо HKCU, так же присутствуют ключи HKLM, которые без прав администратора не работают
|
Отправлено: 18:15, 19-04-2021 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Ins1der, так простой пользователь и не должен иметь возможности для записи в HKLM. Что-то не то с Вашим выбором алгоритма.
|
Отправлено: 22:12, 19-04-2021 | #7 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Странная какая-то проблема... Если есть какие-то параметры реестра которые должны задаваться от администратора И обычного пользователя, то проще нарисовать два батника (или скрипта на поше). Еще проще - задавать эти параметры через GPO. Как ядрёна смесь первого и второго варианта - два батника/скрипта, которые через созданные посредством GPO таски в шедулере стартуют каждый от своего пользователя (в этом случае рекомендую пользовать вместо учетки с правами админа - system).
Есть еще извращенные варианты с одним батником/скриптом - либо давать (а потом возвращать в то состояние в которое и было) права на нужную ветку в HKLM !(не рекомендуется аж вообще, одна кривая буковка и права потом замаешься восстанавливать)!, либо находить SID нужного пользователя и цепляться по нему в HKU (что было в одном из первых постов, но, как я понимаю, ломает вводить имя пользователя), альтернативой поиску конкретного пользователя является добавление/изменение ключа для ВСЕХ пользователей (что тоже не рекомендуется). Наконец можно составить список пользователей и сверять с ним наличествующих на каждой машине, если нашелся тот который нужно - добавить/изменить ключ по его SID (если пользователи доменные - в файле можно даже держать не имена их учеток, а сразу нужные SID). Вроде это все варианты для решения задачи (коллеги, если упускаю какой - поправьте). Определитесь уже с каким помочь (ну или не помогать, часть вопросов, после правильной постановки оных - отваливаются). |
Отправлено: 09:52, 20-04-2021 | #8 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать У меня в скрипте так же выполняется работа с icacls и созданием файлов в системных директориях, потому я для себя вижу только вариант предложенный alpap через wmic, но опять же придется прописывать каждого пользователя. Есть ли какой-то способ вывести всех локальных пользователей и загнать их в переменные ?
|
Отправлено: 10:45, 20-04-2021 | #9 |
Ветеран Сообщения: 1758
|
Цитата Ins1der:
|
|
Отправлено: 11:52, 20-04-2021 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Запуск curl.exe от имени пользователя с правами администратора | wlad1164 | Скриптовые языки администрирования Windows | 5 | 23-11-2018 16:45 | |
Разное - [решено] CMD от имени администратора открывается от пользователя | Valek271183 | Microsoft Windows 10 | 7 | 26-10-2017 18:32 | |
Медиа - [решено] Запись CD/DVD только от имени администратора | El Scorpio | Microsoft Windows 2000/XP | 1 | 15-10-2014 09:29 | |
Запись в реестр в зависимости от разрядности системы | sov44 | AutoIt | 7 | 29-04-2014 20:00 | |
Доступ - Как редактировать учетную запись пользователя из-под учетной записи администратора | viter_alex | Microsoft Windows 2000/XP | 7 | 21-10-2008 20:51 |
|