![]() |
Запуск ps скрипта из bat скрита
Доброго времени суток.
Подскажите пожалуйста, как можно из bat файла, вызвать ps скрпит с повышенными привилегиями? Вариант приведенный ниже, через runas не работает( Если подскажите, как можно спрятать пароль, будет вообще замечательно. Код:
@echo off |
pogo, Пароль можно вводить только в интерактивном режиме. runas не принимает параметров в виде пароля, в том числе через пайп.
|
Foreigner,
Тогда это не подходит(( Интерактивный режим не подходит. Есть ещё какие-то варианты? |
Цитата:
|
Iska,
То что скрипт будет запускаться gsm модемом по смс. |
Несколько вариантов:
1) Использовать psexec , где можно указать пароль и логин. -u Specifies optional user name for login to remote computer. -p Specifies optional password for user name. If you omit this you will be prompted to enter a hidden password. -h If the target system is Vista or higher, has the process run with the account's elevated token, if available. 2) Создать задачу в task scheduler и выполнить скрипт, лучший вариант 3) Пароль можно указать, но пользователю явно придеться нажать Да/Yes ,т.к. UAC не даст запустить, только отключение. Сохраняем скрипт и выполняем его, а из него будет уже вызваться основной: Код:
$pass = ConvertTo-SecureString 'P@$$w0rd1' -AsPlainText -Force |
Kazun,
Большое спасибо! Тоже думал по поводу таска в планировщике, но почему то показалось что решение костыль, и есть лучше. Но что-то погуглив прихожу к мнению что это самый меньший костыль из имеющихся. Дабы не разводить ещё тем, подскажите, в bat-скриптах, можно как-то скрыть пароль, аналогично posh? Когда пасс конвертируется в SecureString выгружается в файл и оттуда уже берется? Вариант конечно тоже так себе по надежности, но хоть бы не в plaintext |
pogo, никак. А зачем Вам там пароль? Вы же его введёте один раз «ручками» в Диспетчере задач.
|
Iska,
Там всё намного костыльнее получается( в батнике запускается ещё один exe с указание login\pass для другого доступа. |
Цитата:
Код:
<# : |
greg zakharov,
Спасибо! Но не могли бы вы чуток прокомментировать скрипт, увы познания bat у меня не велики... Что в итоге будет на выходе по выполнению скрипта? |
pogo, суть примера выше в следующем: обычный командный файл, запускающий себя как PowerShell сценарий; после того как управление будет передано PowerShell, проверяется наличие прав администратора, если таковых нет, предлагается ввести имя администратора и пароль, после чего командный файл снова перезапустит себя, но уже с правами администратора и исполнит блок кода else, то есть выведет надпись "здесь мог бы быть ваш код" и будет ожидать нажатия некоторой клавиши для завершения, - в сущности убивается два зайца разом: не нужно отдельно создавать сценарий PowerShell, а можно его сразу запиливать в бат, ну и решается проблема с повышением прав для запуска. Есть, конечно, некоторые нюансы, но они станут для Вас очевидны по мере работы с командными шеллами.
|
Цитата:
Цитата:
|
emlen,
Цитата:
если так, попробуйте поменять имя на что-то понятное: "name.bat" если не в этом причина, укажите точно что не отрабатывает - запуск bat не происходит или код внутри не так работает, как и где запускаете. |
Время: 23:39. |
Время: 23:39.
© OSzone.net 2001-