запуск скрипта с повышенными привилегиями
Запуск скрипта с повышенными привилегиями [руководство]
Как запустить Batch-файл от имени Администратора (с повышенными правами).
Вариант 1) Правая кнопка мыши по Batch-файлу «Запуск от имени администратора».
Вариант 2) Сначала запустить командную строку (см. ниже), а в ней запустить на исполнение Batch-файл.
Запуск bat скрипта с пониженными привилегиями
Привет ☺ Как в bat скрипте, который запускается с правами администратора прописать запуск.
Запуск скрипта с привилегиями администратора
Здравствуйте. Создал службу windows 10. Она должна запускать скрипт Powershell. Но что-то не.
Почему эта программа запускается с повышенными привилегиями?
Ресурса #24 нет, слой совместимости тоже не прописан, так откуда тогда знак щита? Как это у меня.
Если не хватит функционала из коробки, то есть еще отдельные утилиты:
subinacl
setacl
Друзья, нужна помощь экспертов. Реализовал запуск проводника (на ограниченной учетке) через runas (ярлык с командой) но тут такая фигня так сказать, я запускаю его от администратора но не локального а от пользователя входящего в группу администраторы, проводник запускается но он глючит (например при создании папок или файов они появляются только после F5). Если я запускаю проводник нажимая правую кнопку и выбираю запустить от администратора и ввожу те же данные что использует runas то проводник запускается без всяких глюков. Я так подразумеваю что есть разница между запуск от Администратора и запуск учетки которая входит в группу администраторы, во втором случае мне кажется привилегия ниже чем в первом, кто подскажет как эти привилегии увеличить.
P/S когда я открываю подобным образом CMD то в первом случае у меня окно открывается с пометкой Администратор:командная строка во втором просто командная строка. trustlevel в обоих окнах одинаковый.
Проводник по дизайну не предназначен для работы в режиме повышенных привилегий и его стабильная работа в этом случае не гарантируется.
В нём даже встроена защита и при попытке запустить его так, в Win10 он обычно понижает привилегии обратно (можете проверить через Process Hacker столбец UAC или список прав в свойствах). M$ даже в какое-то время на Win10 специальную задачу добавляла в планировщик ради такого поведения, но потом перенесла эту фичу в сам бинарь.
C:\Windows\System32\runas.exe /noprofile /savecred /env /user:qqq\admin000 «explorer.exe»
Я залогинен в учетке доменной без прав администратора. Я запускаю runas от учетки которая входит в группу администраторы.
Понятно тогда.
Мое предположение: runas и пр. утилиты вроде PsExec, они создают процесс с новым токеном пользователя, вместо того чтобы брать токен уже залогиненного пользователя. И для функционирования проводника это имеет значение.
Я как-то тоже с похожим столкнулся, когда нужно было монтировать шары от имени конкретного юзера. Все прекрасно создавалось и работало, но изменения не передавались реальному юзеру. Ничего другого не нашел кроме как писать легитимный бекдор на стороне юзера, который слушает изменения в папке и уже реально исполняет от имени того юзера нужный файл.
Запуск скрипта с повышенными привилегиями [руководство]
Как запустить Batch-файл от имени Администратора (с повышенными правами).
Вариант 1) Правая кнопка мыши по Batch-файлу «Запуск от имени администратора».
Вариант 2) Сначала запустить командную строку (см. ниже), а в ней запустить на исполнение Batch-файл.
Запуск bat скрипта с пониженными привилегиями
Привет ☺ Как в bat скрипте, который запускается с правами администратора прописать запуск.
Запуск скрипта с привилегиями администратора
Здравствуйте. Создал службу windows 10. Она должна запускать скрипт Powershell. Но что-то не.
Почему эта программа запускается с повышенными привилегиями?
Ресурса #24 нет, слой совместимости тоже не прописан, так откуда тогда знак щита? Как это у меня.
Т.е. никаких чудес. Есть пользовательская учетка из под которой происходит работа, есть админская учетка на том же компе. При запуске скрипта нужно чтобы в том числе прописались некоторые настройки в обозначенной ветке реестра и выполнились определенные действия для которых требуются админские права. При этом если запускать от имени админа, то весь скрипт будет выполнятся с учетом этого.
Пока что назрел вариант как то проверять права доступа, если нужно, то генерить некий bat-ник с добавлением юзера в группу Администраторы, потом запускать основной скрипт уже от имени юзверя, затем убирать его из группы. Но это как кривоватенько получается. Если что не так, то юзер так и останется в админах. Хотелось бы просто повышение полномочий текущего пользователя в рамках сессии выполнения скрипта. Т.е. запросил повышение, ввел данные аккаунта, которые это позволяют и продолжил под текущим юзверем.
Подскажите пожалуйста, как запустить bat-скрипт через ярлык?
У меня есть скрипт C:\scripts\file.bat и ярлык на него C:\scripts\file.bat.lnk в котором указано «Запуск от имени администратора». Как можно запустить батник используя ярлык? Сейчас если выполнить команду
я не слепой.. такой же ответ в заголовке темы. меня интересует программный способ. да и какой вообще тогда смысл в скриптах и автоматизации, когда сидишь и в ручную тыкаешь, хотя для данной задачи я бы согласился и на всплывающее окно UAC для подтверждения..
я не могу запустить кликом мыши потому, что мне нужно выполнить скрипт в другой программе с поддержкой технологии WSH, которая может запустить что-нибудь на ПК вроде Win+R
Не особо. Я задал два вопроса. Не могу понять, на какой из них отвечено и отвечено ли вообще.
Плюс к ним: «другой программе с поддержкой технологии WSH» — это не про wscript/cscript? А про что? Не о скрипте речь?
а вы можете ответить на такой вопрос: что написать в bat-файле по пути C:\file.bat (можно .vbs ), чтобы можно было выполнить произвольные bat-инструкции в режиме «от имени Администратора»?
При условии, что этот файл будет открываться автоматически другой программой путём генерации команды к оболочке системы. Эти события создаваемые программой полностью эквивалентны набронному
Это можно сделать с помощью задания. Только у вас будут весьма большие ограничения:
— нельзя синхронизировать процессы
— нельзя наследовать переменные среды (хотя вы сможете передать аргумент для команды)
— нельзя получить код возврата
Если вам такое подходит:
Создаёте новую папку, работаете в ней:
— создаёте и запускаете с админ. полномочиями такой батник:
Всем привет.
У меня подобная задача, которую я до сих пор не смог разрулить.
У меня виндовс 7.
Есть Админская учетка: admin pas=1234
Есть Юзерская учетка: user без пароля.
Вход автоматом в юзерскую.
PowerShell: запуск команды от имени администратора
вы знаете, как, если вы являетесь административным пользователем системы, и вы можете просто щелкнуть правой кнопкой мыши, скажем, пакетный скрипт и запустить его как администратор без ввода пароля администратора?
Мне интересно, как это сделать со сценарием PowerShell. Я не хочу вводить свой пароль; я просто хочу имитировать щелчок правой кнопкой мыши Запуск От Имени Администратора метод.
все, что я читал до сих пор требует от вас ввести пароль администратора.
24 ответов
если текущая консоль не повышена, а операция, которую вы пытаетесь выполнить, требует повышенных привилегий, вы можете запустить powershell с опцией «Запуск от имени администратора»
вот дополнение к предложению Шая Леви (просто добавьте эти строки в начале скрипта):
в результате текущий сценарий передается новому процессу powershell в режиме администратора (если текущий пользователь имеет доступ к режиму администратора, а сценарий не запускается как администратор).
Самоподъемный сценарий PowerShell
Windows 8.1 / PowerShell 4.0+
Бенджамин Армстронг опубликовал отличная статья о самоподъемных сценариях PowerShell. Там несколько незначительных проблем с его кодом; измененная версия на основе исправлений, предложенных в комментарии ниже.
в основном он получает идентификатор, связанный с текущим процессом, проверяет, является ли он администратором, и если нет, создает новый процесс PowerShell с правами администратора и завершает процесс.
вы можете создать пакетный файл ( *.bat ), который запускает сценарий powershell с правами администратора при двойном щелчке. Таким образом, вы не нужно ничего менять в скрипте powershell.Для этого создайте пакетный файл с тем же именем и расположением сценария powershell, а затем поместите в него следующее содержимое:
cmd выполнит команду
откроется новый сеанс powershell и будет выполнена следующая команда:
еще один новый сеанс powershell с правами администратора откроется в system32 папка и следующее ему будут переданы аргументы:
следующая команда будет выполнена с правами администратора:
после того, как путь к сценарию и имя аргументов двойные кавычки, они могут содержать пробелы или одинарные кавычки символов ( ‘ ).
(обновлено до более простого скрипта от @Shay)
в основном HKCR:\Microsoft.PowershellScript.1\Shell\runas\command задайте значение по умолчанию для вызова скрипта с помощью Powershell.
пока не указано. Кажется, он существует только с PowerShell 4.0.
когда этот параметр коммутатора добавляется в инструкцию requires, он указывает, что сеанс Windows PowerShell, в котором вы находитесь запустив скрипт должен быть запущен с повышенными правами пользователя (Run as Администратор.)
когда скрипт запускается как неадминистратор, выдается следующая ошибка:
скрипт ‘ StackOverflow.ps1 ‘ не может быть запущен, потому что он содержит «#необходима» инструкция для запуска от имени администратора. Электрический ток оболочка Windows PowerShell сеанс выполняется не от имени администратора. Начать Windows PowerShell с помощью параметра Запуск от имени администратора, а затем попробуйте запустить сценарий еще раз.
код, опубликованный Джонатаном и Шей Леви, не работал для меня.
пожалуйста, найдите рабочий код ниже:
вам нужно перезапустить сценарий с правами администратора и проверить, был ли сценарий запущен в этом режиме. Ниже я написал скрипт, который имеет две функции:DoElevatedOperations и стандартные операции. Вы должны поместить свой код, требующий прав администратора, в первую и стандартные операции во вторую. The IsRunAsAdmin переменная используется для идентификации режима администратора.
мой код является упрощенным извлечением из сценария Microsoft, который автоматически создается при создании пакета приложений для приложений Магазина Windows.
C:\Users\»username»\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell где ярлык PowerShell находится. Он тоже по-прежнему идет в другое место, чтобы вызвать фактический «exe» ( %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe ).
щелкните правой кнопкой мыши и выберите пункт Свойства. Нажмите кнопку » Дополнительно «под вкладкой» ярлык», расположенной прямо под текстовым полем» комментарии «справа от двух других кнопок» открыть местоположение файла «и» изменить значок», соответственно.
теперь всякий раз, когда вы нажимаете этот значок, он будет вызывать УАК для эскалации. После выбора » да «вы заметите, что консоль PowerShell открыта, и в верхней части экрана она будет помечена как» администратор».
теперь все, что вам нужно сделать, это нажать эту комбинацию кнопок, которую вы назначили, и вы увидите, что UAC вызывается, и после выбора «да» вы увидите консоль PowerShell и » администратор» отображается в строке заголовка.
вы также можете заставить приложение открыться как администратор. Если у вас есть учетная запись администратора, конечно.
найдите файл, щелкните правой кнопкой мыши > Свойства > ярлык > Дополнительно и проверьте Запуск от имени администратора
ряд ответов здесь близки, но немного больше работы, чем нужно.
создайте ярлык для своего скрипта и настройте его на «запуск от имени администратора»:
Запуск скрипта с повышенными привилегиями
Вопрос
Доброго времени суток.
Для того, что бы запустить PowerShell c повышенными правами, можно использовать команду:
Однако, UAC потребует подтвердить запуск с повышенными правами.
Как можно запустить PowerShell c повышенными правами без подтверждения или задать подтверждение в самой команде?
Какие либо изменения в UAC хотелось бы исключить.
Все ответы
в обоих случаях ошибка:
Опишите все Ваши действия подробно, включая версии операционной системы и PowerShell.
копирую в текстовый файл
переименовываю в XML
указываю при импорте
Ещё момент, мне не просто нужно запускать PowerShell (или CMD) с повышенными привилегиями, мне нужно делать это из групповой политики. Т.е. на клиентском компьютере будет выполняться некий скрипт с повышенными правами. Выполняться будет от имени администратора компьютера, но сам пользователь, к которому применяется политика, таковым не является.
Ещё момент, мне не просто нужно запускать PowerShell (или CMD) с повышенными привилегиями, мне нужно делать это из групповой политики. Т.е. на клиентском компьютере будет выполняться некий скрипт с повышенными правами. Выполняться будет от имени администратора компьютера, но сам пользователь, к которому применяется политика, таковым не является.
да, для импорта использовал графический интерфейс. из первого сообщения импортировалось успешно.
задачу при входе пользователя я не смогу настроить без групповой политики для 100 пользователей.
отображение интерфейса во время выполнения не нужно, т.к. задача будет менять системные настройки для этого пользователя.
Сегодня попробую импортированную задачу. Ведь я могу там добавить в аргументах какой скрипт запускать )
вообщем нашёл пока только такой выход:
1) создаём пользователя classid, через групповые политики назначаем для всех рабочих станций членом группы Network Configuration Operators
2) создаём в групповых политиках задачу выполняемую при входе. задача выполняется от имени classid
3) в задаче будет скрипт cmd.bat с содержанием \\server\shara\ipconfig.bat доступ к шаре только у пользователя classid
тогда у пользователя должен запустится PowerShell. Пока ещё не проверял. Без задачи сам скрипт выполняется и запускает PowerShell. Осталось докурить после powershell.exe нужный скрипт.
Запуск от имени администратора программ Windows 7 и 10
Как запустить от имени администратора командную строку CMD и любую другую программу на Windows 7, 8, 10. Запуск от имени админа выполняется 10-ю методами.
При запуске программ с повышенными правами возникает окошко, в котором нужно подтвердить запуск – UAC учетных записей. Некоторые пользователи отключают эту функцию вообще. Таким образом страдает безопасность компьютера. Ведь не появись предупреждающее окошко UAC, любая вредоносная зараза сможет стартовать с вашего компьютера от имени администратора. «Плохой» код и пиши пропало.
Чтобы облегчить пользователям запуск программ от имени администратора я подготовил парочку способов.
Запуск от имени администратора с помощью контекстного меню
Контекстное меню вызывается правой кнопкой мышки. Жмём по любой программе мышкой и из контекстного меню нажимаем по опции «Запуск от имени администратора». Так открывается командная строка и прочая программа, где необходимы повышенные привилегии.
Использование сочетания Ctrl+Shift+Enter при поиске
Когда на рабочем столе или в меню Пуск нет какого-либо инструмента мы обращаемся к поиску. Любая версия Windows оснащена им, а в десятой он наиболее удобен. Пропишите какую-нибудь команду, например, cmd – командная строка. Выбрав результат, одновременно зажимаем комбинацию Ctrl+Shift+Enter. Простой способ не так ли?
Дополнительные свойства ярлыка
Допустим, вас интересует вопрос, как запустить командную строку от имени администратора. Значок уже расположен на рабочем столе в качестве быстрого доступа, но вы не желаете всё время запускать контекстное меню. Эту проблемку решить можно.
Заходим в свойства ярлыка (правая кнопка мышки и Свойства) и идём в раздел «Дополнительно».
Откроются дополнительные параметры. Там отметьте галочкой параметр «Запуск от имени администратора». Теперь при обычном запуске программы она всегда откроется с повышенными правами.
В свойствах на вкладке «Совместимость» есть опция «Запускать эту программу от имени администратора». Тоже полезная вещица.
Открыть от имени администратора из панели задач
На Windows 10 этот способ очень легко осуществляется. Необходимо на панель задач поместить программы и приложения, которыми вы чаще всего пользуетесь. При нажатии на ярлык программы на панели задач произойдет запуск процесса в обычном режиме, но нам нужны повышенные привилегии.
Для открытия от имени админа программы с панели задач нажимаем по ярлыку программы правой кнопкой мышки. Появится два пункта: ярлык самой программы и опция «Открепить от панели задач». Естественно, нам нужен сам ярлык, по которому нажимаем еще раз правой кнопкой мыши.
Отобразятся несколько подпунктов, где имеется и опция «Запуск от имени администратора».
Да, существует такой вот метод, но проще будем использовать свойства ярлыка из предыдущего способа. Отмечаем в свойствах соответствующую галочку, после чего не придется осуществлять дополнительные действия.
Запускаем от имени администратора в диспетчере задач
Диспетчер задач нужен не только для анализа текущих процессов в операционной системе Windows, через него возможно запускать программы.
В открывшемся окошке нажимаем на пункт меню «Файл» и выбираем опцию «Запустить новую задачу». В этот момент откроется окно создания задачи, похожее на окошко «Выполнить».
Вбиваем имя задачи, например, процесс командной строки – cmd. Нажимаем ОК.
Изменение параметров повышенных привилегий в реестре
Редактор реестра в Windows это огромная база настроек, отвечающая за работу практически всего в системе. Мы будем изменять параметры редактора реестра так, чтобы запуск приложений от имени администратора осуществлялся всегда.
Если раздела Layers, то создать его можно самостоятельно. Для этого нажимаем на раздел AppCompatFlags правой кнопкой мыши и выбираем пункт «Создать» – «Раздел». Называем его Layers. Далее следуем инструкции выше.
Программы для запуска от имени администратора Windows 7 и 10
Существует следующие программы: RunAs, AdmiLink, ExecAS.
Инструмент RunAs
Он является частью Windows, поэтому им можно пользоваться. Чтобы её запустить достаточно открыть командную строку и ввести следующую команду:
runas /user:ИмяПК\ИмяПользователя msconfig.exe
Скорее всего появится просьба о вводе пароля. Обязательно вводим.
Дальше должно появится окошко конфигурации системы. Вместо указанной утилиты используйте cmd.exe или прочие утилиты.
Давайте создадим ярлык на рабочем столе. Нажимаем правой кнопкой мышки на пустой области и выбираем «Ярлык». В качестве расположения прописываем ту самую команду:
runas /user:ИмяПК\ИмяПользователя msconfig.exe
Даем название ярлыку и сохраняем.
После запуска ярлыка откроется командная строка, где надо ввести пароль от учетной записи. При вводе правильных данных сразу же запуститься msconfig или утилита, которую вы выбрали.
При таком раскладе вы или люди, имеющие доступ к ПК, будут каждый раз вводить пароль. Этот момент решается добавлением в команду параметра /savecred, тогда команда будет такой:
runas /savecred /user:ИмяПК\ИмяПользователя msconfig.exe
Если вы думаете о безопасности, то подобные ярлыки с такой опцией лучше не использовать. Лучше каждый раз вводить пароль и не беспокоится, что какой-то нахал воспользуется средствами Windows без пароля в угоду себе и во вред вам.
Использование инструмента ExecAS
Запуск от имени администратора возможен программкой ExecAS. После запуска возникает окошко с предложением ввести информацию об учетной записи (логин и пароль), а еще имя программы и путь. После ввода данных жмём «Записать».
В окошке ExecAS появился наш подопытный кролик, Закройте программу и откройте заново. Сразу же откроется та программа, указанную нами в ExecAS. Чтобы добавить дополнительное приложение нужно в командной строке прописать ExecAS.exe /S. (При этом нужно находиться в каталоге с утилитой, к примеру, C:\ExecAS).
Запустив ExecAS, добавляем еще какую-либо программку. Закрываем инструмент и опять запускаем. Появляется тоже самое окно. Но так нам не удобно, поэтому перейдем к созданию ярлыков:
Делаем два ярлыка с такими командами:
Числа 1 и 2 отвечают ща номер программы в ExecAS.
Запустив ярлыки, мы видим, что они открылись от имени администратора.
Использование утилиты AdmiLink
Указанная в заголовке утилита является консольной, и после инсталляции будет находиться в каталоге Windows.
Запускаем инструмент и видим вполне удобное окошко с русским интерфейсом, поэтому разобраться будет легко.
Настраиваем параметры на вкладке Account:
Утилита проверит работоспособность указанной нами информации. Жмём любую клавишу в CMD.
После удачного теста нажмите кнопочку «Сгенерировать ключ запуска AdmiRun». Если этого не сделать, то ничего не будет работать.
Значок сразу же появится на рабочем столе или каталоге, который вы указали.
Пробуем запустить ярлык. Если всё удачно и программа запустилась от имени админа, то поздравляю. Иначе неверно выполнены действия на каком-то шаге.
Если зайти в свойства ярлыка и изменить программу в поле «Объект» на другую, то она попросту не запуститься. Это небольшая защита от вредоносов.
Планировщик заданий
Запустить программу от имени администратора, достаточно использованием инструмента «Планировщик заданий». Здесь есть один нюанс – если вы не админ, то воспользоваться им не удастся.
Введите в поиске всего два слова: «Планировщик заданий» и откройте результат. В окне справа выбираем пункт «Создать задачу».
Назовите её соответствующим именем, допустим, вы запускаете командную строку, тогда можно назвать CMD. Также ставим галку «Выполнить с наивысшими правами».
На вкладке «Действия» нажмите кнопочку «Создать».
Выберите действие (в нашем случае запуск программы). Нажмите «Обзор» и выберите запускаемую утилиту. Если вы запускаете командную строку, то путь будет таким: С:\Windows\System32\cmd.exe.Теперь нажимаем ОК.
На вкладе «Действия» появилась новая строчка. Отлично, можно нажать ОК.
Этап создания ярлыка
На рабочем столе делаем ярлык и указываем такую команду:
schtasks /run /tn имя_задачи_в_планировщике
имя_задачи_в_планировщике – это имя, которое вы дали в самом начале процесса создания задачи.
Ура, ярлык мы сделали, но это еще не всё. Перейдите в его свойства.
На вкладке «Ярлык» измените значок. Конечно, делать это вы не обязаны.
Дополнение к способу с планировщиком заданий
Для быстрого запуска множества программ, можно использовать утилиту Elevated Shortcut. Вы берёте ярлык или исполняемого файла и перетаскиваете на значок Elevated Shortcut.
Запуск программ из командной строки
Если открыть командную строку от имени администратора указанными выше способами, то запуск всех программ из CMD также позволит открывать их с повышенными правами.
Инструмент Elevate
Скачиваете эту утилиту отсюда и распаковываете. Дальше открываем командую строку и вводим такую команду:
Всё просто, не так ли? И командную строку можно обычным способом запускать, программа всё сделает сама.
Запуск от имени администратора пропал – нет кнопки | пункта
Нередко бывают моменты, когда в Windows происходят сбои. Это предсказать очень сложно, но исправить возможно. Например, вы хотите запустить программу от имени администратора. По стандарту нажимаете на ярлык правой кнопкой мышки, а пункта, отвечающего за запуск с повышенными привилегиями нет. При этом опция может находиться в меню Win+X.
Бывает так, что открыть программы от имени админа возможно только в случае, если зайти в системный диск и запустить программу оттуда. Например, нужно запустить ярлык, находящийся по пути C:\Program Files (x86)\AIMP/aimp.exe, а не с рабочего стола.
Самое простое решение – почистить кэш системы. Существует много способов очистки временных мусорных файлов. Делается это следующим образом:
Следующий опыт показал, что проверка системы на целостность системных файлов и восстановление повреждённых возможна при выполнении в командной строке или утилите PowerShell следующих команд:
Как еще вернуть пункт запуска от имени администратора
Когда пользователь пробует использовать команду запуска с повышенными привилегиями, а она не работает или вовсе отсутствует, тогда в Windows отключен контроль учетных записей UAC. Многие пользователи действительно его отключают, чтобы избавиться от постоянных раздражающих уведомлений.
Попробуйте его включить и проверить, удалось ли исправить проблему.
На следующем этапе мы переводим режим отображения в «Мелкие значки». Делается справа вверху. Теперь находим раздел «Учетные записи пользователей».
Находим опцию «Изменить параметры контроля учетных записей».
Выставляем ползунок в положении 3 – «Не уведомлять при изменении параметров Windows пользователем». И нажимаем ОК.
Выводы
Мы рассмотрели кучу способов по запуску программ от имени администратора. Есть варианты, где требуется ввести пароль – это одно из безопасных решений, ведь каждый раз, когда мы вводим пароль, можно особо не бояться за потерю каких-то данных. Вирусные программы также не смогут запустить инструменты Windows таким способом.
Еще мы рассмотрели программы, позволяющие запускать программы с повышенными правами без пароля. Хоть это и удобно, но вирус или человек сможет запросто использовать программу в нехороших целях. Также вирусы способны поменять объект ярлыка на сторонний вредоносный ресурс или на программный код, который будет паразитировать в Windows. В целом очень о многих методах мы узнали, а какой использовать решать только вам. Всем удачи!