|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] как запустить из одного батника другой от имени администратора под семеркой |
|
|
CMD/BAT - [решено] как запустить из одного батника другой от имени администратора под семеркой
|
Старожил Сообщения: 182 |
Профиль | Отправить PM | Цитировать
Как запустить из одного батника другой от имени администратора под семеркой с включенным UAC (Естествено, я понимаю, что все равно UAC выдаст предупреждение, но меня это устраивает). runas /user:Admin (admin, Администратор) не работает- пишет "вход не произведен" по причине "пользователь не существует" или "имеются ограничения".
И второе: Как изнутри батника определить что его запустили от имени администратора в семерке? (переменная %USERNAME% все равно содержит имя исходного пользователя). |
|
------- Отправлено: 21:09, 16-05-2010 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать 1. может, через ярлык (там вроде есть опция) ?.. типа: 'Start "" script.lnk'
2. ткнуться в запрещенный ресурс, пример: http://csi-windows.com/toolkit/csi-isadmin |
Отправлено: 08:08, 17-05-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 182
|
Профиль | Отправить PM | Цитировать amel27,
1. проверю, но что-то не нравится мне это 2. Тоже такая мысль была. Думал можно по-нормальному (то есть команда для этого есть). Попробовал указанный там код- всегда выдавал YES почему-то. Добавлено: 2. Честно говоря, указанный код разбирать желания пока нет. Заметил, что при запуске от администратора переменная %CD% принимает вид C:\Windows\system32, поэтому попробовал так: Работает, при условии, что мы точно знаем, что запускаем батник не из %WinDir%\system32 и UAC включен. Однако если UAC отключен, то %CD% принимает значение директории из которой запущен батник даже если запустить от админа (причем при входе что от ограниченного пользователя, что от админа). Отсюда возникает вопрос: есть ли вообще разница при отключенном UAC в простом запуске программы и запуске от администратора? |
------- Последний раз редактировалось seriych, 17-05-2010 в 20:59. Отправлено: 16:56, 17-05-2010 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать 2. Команды, к сожалению, нет (именно на полномочия, а не на проверку членства в группе). Попробуйте посмотреть здесь: CMD/BAT: наличие административных привилегий у текущего пользователя. Там есть как и тот же принцип, так и другой способ. Проверять, годится ли хоть что-то оттуда для «Windows 7», предстоит Вам.
Если выйти за рамки тематики, то есть интересная библиотека «%systemroot%\system32\compatui.dll»: vbscript: некоторые интересные объекты — опрос мнения с функцией «.CheckAdminPrivileges()» (есть ли она в умолчальной поставке «Windows 7» — равно не знаю [но не откажусь от Ваших комментариев, если она есть]). seriych, а, может быть, стоит задействовать для сего PowerShell из командного файла, а? Он ведь вроде как умеет исполнять код из своей командной строки? Я вот буквально сегодня смотрел пример подобного использования (если я всё правильно там понял; сам я, к сожалению, пока не работаю с PowerShell). |
Отправлено: 21:15, 17-05-2010 | #4 |
Старожил Сообщения: 182
|
Профиль | Отправить PM | Цитировать Цитата Iska:
По поводу остального завтра посмотрю, а то сегодня устал дико. |
||
------- Отправлено: 21:44, 17-05-2010 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата seriych:
|
|
Отправлено: 21:57, 17-05-2010 | #6 |
Старожил Сообщения: 182
|
Профиль | Отправить PM | Цитировать После выходных со свежими мыслями все проверил
1. С ярлыком все работает. Создаем исполняемый батник, делаем на него ярлык и ставим в опциях ярлыка "Запускать от имени администратора". Работоспособность сохраняется при копировании обоих файлов в другую папку или на другой комп. 2. Метод с сайта работает, надо только для русской версии заменить в коде "Not found" на "*Ґ **©¤Ґ*" или "не найден" (в дос-кодировке). Мой метод с %CD% вроде работает также, если мы точто запускаем батник не из %WinDir%\system32. |
------- Отправлено: 14:53, 20-05-2010 | #7 |
Старожил Сообщения: 222
|
Профиль | Отправить PM | Цитировать У меня такая проблема: у меня на переносном жестком диске батник который на ХП делал определенные операции:
Как заставить его тоже делать на семерке. 1. Есил я его просто запускаю то мне выдается ошибка о не возможности удаления rd /s /q Updates . 2. Если я его запускаю от имени администратора то при выполнении команды cd \ я оказываюсь на диске С:\ , а не в корне портативного жёсткого (естественно он не находит ни папки Updates ни пути к проге wget.exe ) 3. Приходится вручную удалять папку Updates (это самый простой способ который я нашел), и запускать без каких либо прав админа, тогда у меня скачиваются базы к антивирусам. Но это крайне неудобно, к тому же данный батник я запускаю с панели Total Commander. Цитата seriych:
|
|
Отправлено: 12:36, 01-10-2010 | #8 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата Cancer_mvm:
|
|
Отправлено: 12:57, 01-10-2010 | #9 |
Старожил Сообщения: 222
|
Профиль | Отправить PM | Цитировать amel27, Спасибо огромное, работает!!! еще хотелось бы знать расшифровку этой строчки"cd /d %~d0\", очень интересно что чего делает, т.к. самостоятельно я такое не составил бы.
И еще вопрос как сделать что б этот батник с панели Total Commander запускался с админскими правами (предупреждение UAC меня устраивает). |
Отправлено: 15:05, 01-10-2010 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Как определить количество установленной памяти в ХР с помошью .cmd .bat? | xaosxaos | Скриптовые языки администрирования Windows | 17 | 28-03-2017 23:57 | |
CMD/BAT - BAT файл, который вставляет текст в открытую командную строку. | garanov | Скриптовые языки администрирования Windows | 13 | 18-02-2015 20:26 | |
Как определить время работы пользователя? | remotor | Microsoft Windows NT/2000/2003 | 12 | 14-01-2009 10:58 | |
Как создать *.bat файл? | ssdm | Хочу все знать | 2 | 26-02-2007 09:36 | |
как определить ip у пользователя , ели знаешь только его имя | djoniAg | Сетевые технологии | 7 | 30-05-2005 19:50 |
|