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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   Как повысить юзера до администратора из командной строки? (http://forum.oszone.net/showthread.php?t=203240)

suvolod 28-03-2011 11:47 1645489

Как повысить юзера до администратора из командной строки?
 
Идея в следующем:
есть сетка из 20 компьютеров, в каждом из которых права сотрудников ограничены до группы Пользователи + применено достаточно много твиков реестра для того, чтобы обрезать сотрудникам доступ к ненужным с точки зрения админа функциям системы. Но иногда мне надо прийти, сесть за этот компютер, повысить пользователя до админа, разблокировать все недоступные функции (типа просмотра вкладки Безопасность, скрытых апплетов панели управления и т.д.), сделать свою работу по обслуживанию системы, после чего вернуть все обратно... Хочется как-то автоматизировать этот процесс. Хотя-бы через батник. Как его написать, представляю.... но не знаю команды (если она есть конечно) по выполнению первого шага - т.е. повышения прав пользователя до прав админа. Запускать эту команду хочу через runas с учеткой админа

Telepuzik 28-03-2011 12:41 1645538

Цитата:

Цитата suvolod
но не знаю команды (если она есть конечно) по выполнению первого шага - т.е. повышения прав пользователя до прав админа. Запускать эту команду хочу через runas с учеткой админа »

Так команда runas и позваоляет запускать приложение с правами администратора. Команда:
runas /profile /user:mydomain\Administrator compmgmt.msc запустит консоль Управление компьютером с правами пользователя mydomain\Administrator.

monkkey 28-03-2011 12:56 1645553

suvolod,
Цитата:

Цитата suvolod
повысить пользователя до админа »

А почему бы не загрузиться под локальным администратором?

suvolod 28-03-2011 13:56 1645597

Цитата:

Цитата Telepuzik
Так команда runas и позваоляет запускать приложение с правами администратора. Команда:
runas /profile /user:mydomain\Administrator compmgmt.msc запустит консоль Управление компьютером с правами пользователя mydomain\Administrator. »

Нет, так не пойдет. Смотри: я хочу создать бат-файл, который:
1. Повышает текущего пользователя до админа (путем запуска неизвестной пока мне проги через runas с правами админа)
2. Снимает кучу ограничений через импорт reg-файла с твиками, восстанавливающими заблокированные возможности винды.

Ну и второй батник потом хочу создать чтобы снова "закрыть" и ограничить в правах пользователя.

Проблема в том, что reg-файл, о котором я говорю, в основом содержит ключи для импорта в ветку HKEY_CURRENT_USER. То есть текущего юзера. И если я просто запущу его через админа, то этот файл будет применен именно к той учетке, из под которой он вызван - то есть админской. А юзер как был заблокированным по функционалу, так и останется.. Так что мне надо именно консольную прогу/команду для добавления юзера в группу Администраторы.

Telepuzik 28-03-2011 14:49 1645639

Цитата:

Цитата suvolod
Так что мне надо именно консольную прогу/команду для добавления юзера в группу Администраторы. »

net localgroup "Администраторы" "UserName" /ADD - добавляет пользователя UserName в группу локальных Администраторов.

zero55 29-03-2011 07:39 1646152

suvolod, а что вам мешает использовать для этого сервисные учетки.
вы забываете правило №1 - никаких лишних полномочий...

Поверьте, пользователь меньше всего нуждается в дополнительных правах т.к. он в 99% случаем не знает что с ними делать или использует неправитьно.

suvolod 29-03-2011 10:01 1646214

Цитата:

Цитата zero55
suvolod, а что вам мешает использовать для этого сервисные учетки.
вы забываете правило №1 - никаких лишних полномочий... »

Никаких лишних полномочий я и не даю. Моя задача - временно дать учетной записи пользователя права админа, и только на тот момент времени, пока за этим компом сижу я. То есть надо буху установить программу - я прихожу, повышаю права ее учетки до "Администраторы" и устанавливаю из под ее учетной записи нужную программу, после чего возвращаю все на место (удаляю права админа)

Телепузик, большое спасибо за подсказку :).. но в процессе написания кода bat-ника опять сложности возникли. Смотри -
я использую такой код:

-------------------------------------------------------------------------------------------------------------
runas /user:Администратор "net localgroup "Администраторы" "user01" /ADD"
-------------------------------------------------------------------------------------------------------------

Если его прочитать слева направо, он звучит так: от имени пользователя "Администратор" выполнить добавление в группу "Администраторы" пользователя user01.

Если его вставить в Пуск > Выполнить или просто cmd-консоль, то все срабатывает. Если же я пихаю эту строку в bat-ник, то ничего не происходит. Извращался уже по всякому. Даже пробовал Администратора добавить для теста в группу Пользователи (думал может с правами что) - но не помогло. Любая учетка из под любой административной учетки моим кодом успешно меняется, но только если она вставлена непосредственно в командную строку.. Пихаю ее без изменений в батник - и ничего не происходит..

berk2030 29-03-2011 10:37 1646241

А у вас DC с Active Directory или нет ? Если да то зачем париться bat-никами или еще чем то? Введите свою учетку Администратора в группу Local Admins и логируйтесь на компьютерах user-ов под своей АДМИНСКОЙ учеткой.

Telepuzik 29-03-2011 10:38 1646242

Цитата:

Цитата suvolod
Пихаю ее без изменений в батник - и ничего не происходит.. »

Смотрите в сторону кодировки символов при выполнении bat-файла. Создайте bat -файл следующим образом в консоле cmd наберите следующие: echo "net localgroup "Администраторы" "User" /ADD" > test.bat и затем запустите полученный bat файл и посмотрите выполниться он нормально или нет.

suvolod 29-03-2011 13:50 1646383

Да, в таком варианте (сгенерированный эхом файл) работает..
Потестировал возможности и появилось еще пара вопросов. Во первых, еще раз процитирую сам батник:

//------------------------------------------------------
runas.exe /user:Администратор "net localgroup "Администраторы" "user01" /ADD"
shutdown /l
//------------------------------------------------------

проблема в том, что этот батник придется таскать между разными пк, все юзеры сидят под разными логинами, соответственно постоянно придется менять "user01". Может, где-то в переменных окружения храниться константа текущего логина, чтобы я мог забить нечто вроде

runas.exe /user:Администратор "net localgroup "Администраторы" %CURR_USER% /ADD"

... а интерпретатор cmd сам подставил вместо шаблона имя текущего юзера?

Ну и второе. Совсем забыл, что в текущем сеансе сохраняются старые права... Поэтому, несмотря на то, что я смог загнать
батником юзера в админы, до завершения сеанса ему по прежнему ничего не доступно... Потому и пририсовал команду shutdown для завершения сеанса.. но тогда ни о каком импорте reg-файла одновременно с назначением прав и речи не идет.. Это никак нельзя обойти (в смысле применить назначенные права уже в текущем сеансе)?

Цитата:

Цитата berk2030
А у вас DC с Active Directory или нет ? Если да то зачем париться bat-никами или еще чем то? Введите свою учетку Администратора в группу Local Admins и логируйтесь на компьютерах user-ов под своей АДМИНСКОЙ учеткой. »

У нас одноранговая сеть... увы :(

suvolod 29-03-2011 14:10 1646395

так, нужную переменную окружения отыскал, так-что вопрос снимается. Но второй - в силе!

zero55 29-03-2011 20:12 1646682

а воспользоваться
runas /user:Administartor cmd.exe
никак?

оттуда запускаете все что считаете нужным... с правами админа.

suvolod 30-03-2011 16:58 1647305

Такой вариант не прокатит, я писал уже почему - если я запускаю консоль от администратора, и из этой консоли импортирую рег-файл (regedit /s enableRule.reg), то при импорте все записи, которые начинаются с HKEY_CURRENT_USER, будут записаны в в раздел учетки, от кототорой запустилась консоль (т.е. администратора, а не юзера, из под которого вызвали runas). Если интересно, вот небольшой пример:

;Затереть обои рабочего стола
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Desktop]
"Wallpaper"=""

Если сохранишь этот код в рег-файл и запустишь из под юзера через консоль, вызванную по runas /user:Администратор, обои затрутся именно у администратора.

zero55 30-03-2011 23:15 1647545

Прослушал...
У вас рабочая группа или домен?
в первом случае пользователю создается обязательный профиль и тиражирование настроек производится через его изменение.
во втором случае все реестровые настроки замечательно устанавливаются средствами GPO.

Я все же убежден в том что вариант - повысить до админа неправильный, вполне достаточно добавить его в "Опытных пользователей".

Iska 31-03-2011 02:14 1647648

Цитата:

Цитата suvolod
Такой вариант не прокатит, я писал уже почему - если я запускаю консоль от администратора, и из этой консоли импортирую рег-файл (regedit /s enableRule.reg), то при импорте все записи, которые начинаются с HKEY_CURRENT_USER, будут записаны в в раздел учетки, от кототорой запустилась консоль »

Что мешает параллельно запустить ещё одну консоль — уже от имени того обычного пользователя, под чьим сеансом сидите? Панель управления и прочие радости Проводника получаются запуском из административной консоли «explorer.exe /separate» (что уже не раз рассматривалось здесь).

suvolod 03-04-2011 12:36 1649953

Iska, работает твой вариант. Если запустить из под учетки юзера консоль админа, разблокировать юзера, а затем из этой -же админской консоли запустить новую консоль юзера, то, несмотря на то, что текущий сеанс юзера до завершения сеанса работает со старыми (ограниченными) правами, новая консоль уже работает с правами администратора.

Но вылез косяк в другом месте - не могу собрать все это в единый батник, т.к в таком варианте получается путаница с путями.
А именно - при запуске консоли через [runas /user Логин cmd] текущей директорией в новой консоли будет C:\windows\system32. Соответственно, до исходной папки с рег-файлом уже не добраться. Как-то можно это обойти? Чтобы, если я запускю [runas .... cmd], например, из папки "C:\Documents and Settings\vova\Рабочий стол\Новая папка", новая консоль открылась в этой же папке?

zero55 03-04-2011 17:12 1650170

cmd /c "cd куда_нибудь_в_другую_папку; следующая_команда"

Iska 03-04-2011 18:51 1650230

suvolod, я вовсе не имел в виду поднятие прав обычного пользователя до администратора, а как раз наоборот: я не вижу в этом ни малейшей необходимости.

suvolod 03-04-2011 21:12 1650325

Добил я все-таки свою задумку. Кому интересно, вот окончательное решение:
Доп. консолей можно вообще не запускать, но чтобы все заработало без перезагрузки, надо из под текущего юзера запустить runas /user:текущий юзер regedit off.reg. Кому непонятно вот пример как заблокировать функционал у юзера:

Пусть у нас есть reg-файл, делающий недоступной панель задач, вызываемую через Ctrl+Alt+Del

Код:

Windows Registry Editor Version 5.00
;запретить запуск Диспетчера задач Windows
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]
"DisableTaskMgr"=dword:00000001

Из под учетки юзера (с правами пользователя) такой рег-файл в реест добавить не получиться, вылетит ошибка. Выход - пишем батник такого содержания:

Код:

SET name=%USERNAME%
cls
runas /user:Администратор "net localgroup "Администраторы" %name% /add"
runas /user:%name% "regedit \"%~dp0off.reg\""
runas /user:%name% "net localgroup "Администраторы" %name% /del"
pause

Этот батник ложим в одну папку с рег-файлом off.reg и запускаем на выполнение. Что он делает

Первый runas - дает текущему юзеру права админа
Второй runas - выполняет наш рег. файл от текущего юзера, но уже с админскими правами
Третий runas - текущий юзер сам себя выкидывает из администраторов.

На всякий случай - второй и третий runas-ы нужны именно потому, что мы хотим сделать все одним батником, без перезагрузки пользователя после добавления его в админы! Если попытаться выполнить это без runas-ов, то ничего не получиться, т.к. система будет выполнять команды от имени текущего сеанса, в котором пользователь до сих пор сидит с правами только группы "Пользователи".

Кто-то может возразить, что вводить три раза пароли - это не кашерно, но в качестве альтеративы у нас только только тот-же тройной ввод паролей (вход админом для повышения прав пользователя, вход пользоватлем для применения рег. файла + удаления в конце себя из администраторов, и вход/выход пользователем, чтобы применить пониженые права ), но с перезагрузкой после каждого действия. Если у кого-то есть вариант модернизации батника - будет интересно услышать. Например, интересно, можно или нет запрятать пароль админа в сам батник и подставлять его runas автоматом. Ключ /savecred использовать не хочу, т.к. в этом случае пароль админа остается на компе пользователя, пусть и в зашифрованном виде... а папку с батником все-равно буду таскать на флешке, так что даже при сохранении пароля (если это возможно, конечно) в батнике никто его не увидит.

zero55 03-04-2011 22:29 1650370

я предвижу чем это закончиться.
после подобных махинаций ничег не стоит запустить скрипт для создания нового администратора, слить все хэши, подобрать пароли и в завершении поиметь всю сеть.

таким образом вам тема для размышления.
1. участники группы администраторы у вас имеют право удаленного входа?
2. участники группы администраторы имеют доступ по сети?

PS я все же склоняюсь к тому что нормальное разделение полномочий все же более правильное и безопасное решение чем предложенное вами.

suvolod 04-04-2011 07:34 1650505

Соглашусь :).. Но в моем случае (одноранговая сеть без AD) все-таки это пусть через ж.., но выход. По крайней мере все юзеры сидят под правами пользователя + обрезанным интерфейсом/функционалом винды, и в то же время я могу сесть за рабочее место юзера и за пол-минуты без многократных перезагрузок разблокировать его интерфейс.

Скрипт для создания нового администратора можно запустить, только зная пароль текущего.. а как юзер его узнает? Кейлогер или программку вычисления пароля он не подсадит - у меня включена политика ограниченного использования программ с настройками "все запрещено". Конечно, можно и это обойти, но в нашей конторе таких продвинутых пользователей нет.

zero55 04-04-2011 10:35 1650594

Цитата:

Цитата suvolod
текущего.. а как юзер его узнает? »

ему этого не нужно.
достаточно в автозагрузку себе пихнуть скрипт по созданию нового пользователя и он выполниться с правами администратора.

когда вы пишите runas происходит полная загрузка профиля со всеми вытекающими последствиями.
Дальше пользователь имея локального админа получает хэши паролей.
Если не отключено LMHASH То пароли ломаются за считанные секунды, если пароли длинные то времени понадобится четь больше.
дальше имея пароль локального админа пользователь совершенно спокойно идет на соседний хост (пароли с большой вероятностью у вас одинаковы). Собирает данные с сервисов. Получает доступ на критичные хосты. ставит там все что ему требуется (трояны, кейлоггеры и пр.).

Дальше пофантазируйте... Думаю что спать после этого будете хорошо :)

suvolod 04-04-2011 13:10 1650708

Прямо заинтересовал.. действительно, попробовал твой прием - на примере добавления ярлыка от IE - добавляется в автозагрузку под правами пользователя и даже не предупреждает.

С другой стороны - открываю папку автозагрузка через проводник - "C:\Documents and Settings\user01\Главное меню\Программы\Автозагрузка" > Свойства > Безопасность > Дополнительно > Добавить и добавляю дополнительную ntfs политику на пользователя user01. Запретить: создание файлов/запись данных и Создание папок/запись данных. Применить "Для этой папки, ее подпапок и файлов".

Теперь пользователь уже ничего не добавит :).. и большое спасибо за предупреждение.

zero55 04-04-2011 14:33 1650780

еще вариант.
Причем из практики.
1. выключаем компьютер.
2. загружаемся с LiveCD
3. монтируем файловую систему в режиме чтения-записи.
4. смотрим что нам доступно абсолютно все.
5.1. забираем файлы реестра. правим их на нужные и кладем назад
5.2. помещаем в файловую систему все что нам нужно.
6. загружаемся
7. ноем админу что у нас нифига не пашет
8. он приходит и в мгновение ока все исправляет.

а потом пошло самое интересное :)

stecks27 13-11-2012 09:12 2024583

Привет подскажите пожалуйста.
Вот у меня такая проблема.
Дело в том что есть локальная сеть состоящая из 40 компов. И мне надо понять как сделать так чтоб обычный пользователь мог повысить свои права до администратора. Я пробовал прописать в командной строке но показывает отказано в доступе. и ошибка номер 5.


net localgroup "Администраторы" "UserName" /ADD



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

FedrPupkrv 15-09-2015 16:19 2553490

Цитата:

Цитата suvolod
runas /user:Администратор "net localgroup "Администраторы" %name% /add" »

У меня не выполняется эта команда. После запуска батника открывается консоль с запросом админского пароля. Вин 2003. Как быть?

Цитата:

Цитата zero55
достаточно в автозагрузку себе пихнуть скрипт по созданию нового пользователя и он выполниться с правами администратора »

Напиши пожалуйста этот скрипт.

Iska 15-09-2015 18:13 2553529

Цитата:

Цитата FedrPupkrv
У меня не выполняется эта команда. После запуска батника открывается консоль с запросом админского пароля. Вин 2003. Как быть? »

Ввести пароль учётной записи «Администратор».

FedrPupkrv 15-09-2015 20:15 2553570

Цитата:

Цитата Iska
Ввести пароль учётной записи «Администратор». »

Я не знаю пароль.
У suvolod без пароля получилось.

Iska 15-09-2015 21:25 2553602

Цитата:

Цитата FedrPupkrv
У suvolod без пароля получилось. »

Да ну? С чего это вдруг «без»?!
Цитата:

Цитата suvolod
Кто-то может возразить, что вводить три раза пароли - это не кашерно, »


Nordek 15-09-2015 21:29 2553604

Цитата:

Цитата FedrPupkrv
Я не знаю пароль. »

Код:

net user Администратор 1234

Iska 16-09-2015 07:19 2553686

Nordek, по определению, текущий пользователь не обладает ещё административными привилегиями.

El Scorpio 17-09-2015 02:05 2554123

Цитата:

Цитата suvolod
Но иногда мне надо прийти, сесть за этот компютер, повысить пользователя до админа, разблокировать все недоступные функции (типа просмотра вкладки Безопасность, скрытых апплетов панели управления и т.д.), сделать свою работу по обслуживанию системы, после чего вернуть все обратно... »

Не вижу проблемы
1. Запустить CMD.EXE от имени администратора
2. Из командной строки запустить explorer /separate
3. ...
4. PROFIT!!!

По-умолчанию "проводник" определяет наличие процесса оболочки системы, запущенного от имени пользователя, и просто открывает ещё одно окно - с ограниченными правами.
Ключ /separate запускает "проводник" в отдельном процессе от имени пользователя, запустившего командную строку - то есть администратора.
При этом никакого влияния на основной процесс оболочки системы, работающей от имени пользователя, не происходит.

sflashg 15-04-2016 09:23 2626351

а я ввожу к примеру так
runas /profile /Sergey:Sergey\Administrator compmgmt.msc

а мне вот что пишет
Использование команды RUNAS:

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
/user:<имя пользователя> <программа>

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
/smartcard [/user:<имя пользователя>] <программа>

/noprofile Не загружать профиль пользователя. Это приводит к более
быстрой загрузке приложения, но может стать причиной
неправильной работы некоторых приложений.
/profile Загружать профиль пользователя.
Этот параметр установлен по умолчанию.
/env Использовать текущие параметры среды.
/netonly Учетные данные предназначены только для удаленного
доступа.
/savecred Использовать учетные данные, сохраненные пользователем.
Этот параметр не доступен в Windows XP Home Edition
и будет проигнорирован.
/smartcard Для указания учетных данных используется
смарт-карта.
/user <имя пользователя> должно быть в виде USER@DOMAIN или DOMAIN\USER
<программа> Командная строка для EXE. См. примеры ниже.

Примеры:
> runas /profile /user:mymachine\administrator cmd
> runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"
> runas /env /user:user@domain.microsoft.com "notepad \"Мой файл.txt\""

Примечание: вводите пароль пользователя только тогда, когда он запрашивается.
Примечание: формат записи USER@DOMAIN несовместим с параметром /netonly.
Примечание: параметр /profile несовместим с параметром /netonly.

и какого он докапывается ?

Iska 15-04-2016 10:47 2626383

Цитата:

Цитата sflashg
и какого он докапывается ? »

Вводите:
Код:

runas /user:Sergey\Administrator "mmc.exe %windir%\system32\compmgmt.msc"

sflashg 19-04-2016 07:21 2627672

с меня просит пароль и я его знаю (это цифры) я пытаю набить но нажатие клавиш система не реагирует кроме энтера

я думал что ввод в силу защиты не отображается потому ввожу жму энтер

Введите пароль для Sergey\Administrator:
Попытка запуска mmc.exe C:\WINDOWS\system32\compmgmt.msc от имени пользователя "
Sergey\Administrator" ...
ОШИБКА RUNAS: Не удается запустить - mmc.exe C:\WINDOWS\system32\compmgmt.msc
1326: Вход в систему не произведен: имя пользователя или пароль не опознаны.


пробовал цифры вводить как с малой так и основной клавы
система XP


Время: 15:33.

Время: 15:33.
© OSzone.net 2001-