Страница 1 из 1
.bat, runas и .vbs
Добавлено: 2012-06-01 14:35:28
paran0id
Задача - в логон-скрипте пользователя запускать vbs от имени администратора.
Реализовал следующим батником:
Код: Выделить всё
@echo руками не трогать
@echo пароль | runas /netonly /user:домен\учетка_с_правами_админа "cscript \"\\путь\к\скрипту\install.vbs\""
Проблема - runas не жрёт пароль.
Если в cmd сказать
Код: Выделить всё
runas /netonly /user:домен\учетка_с_правами_админа "cscript \"\\путь\к\скрипту\install.vbs\""
то запрашивает пароль и успешно отрабатывает.
Скрипт типа
Код: Выделить всё
@echo руками не трогать
@echo пароль | runas /netonly /user:домен\учетка_с_правами_админа cmd
успешно запускает cmd от имени учетки_с_правами_админа.
Т.е.
echo пароль не проходит в случае выполнения через runas более сложных команд. Как это обойти? По возможности, без установки на пользовательские машины дополнительного ПО.
Re: .bat, runas и .vbs
Добавлено: 2012-06-01 16:05:33
snorlov
а если вместо cmd указать 11.cmd, к примеру или *.bat, он его не запустит?
Re: .bat, runas и .vbs
Добавлено: 2012-06-01 16:25:48
paran0id
Пробовал из первого скрипта запускать bat или exe, пинающий собственно vbs. Скрипт vbs начинал выполняться, но почему-то падал через секунду.
Re: .bat, runas и .vbs
Добавлено: 2012-06-04 8:13:04
Alvares
Re: .bat, runas и .vbs
Добавлено: 2012-06-06 9:37:04
paran0id
тогда всё равно один раз пароль вводить придётся
Re: .bat, runas и .vbs
Добавлено: 2012-06-06 12:58:16
Alvares
Можно первый запуск сделать с паролем (в смысле plain-text, как параметр runas). А потом убрать пароль из параметров
Re: .bat, runas и .vbs
Добавлено: 2012-06-06 14:23:41
paran0id
Можно первый запуск сделать с паролем (в смысле plain-text, как параметр runas)
Это как? Нет у runas такого параметра.
В общем, пока сделал через startup-скрипт (при запуске машины, а не при входе пользователя - там от админа работает).
Re: .bat, runas и .vbs
Добавлено: 2012-06-06 15:54:55
FreeBSP
параметры - [user] [domain] [password] [cmd]
вместо домена точка, если пользователь локальный
хеловорлд на вбс кушает
Код: Выделить всё
runas.exe _USER_ . _PASS_ "cscript f:\hw.vbs"
.
Код: Выделить всё
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <userenv.h>
void DisplayError(LPWSTR pszAPI)
{
LPVOID lpvMessageBuffer;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
NULL, GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPWSTR)&lpvMessageBuffer, 0, NULL);
//
//... now display this string
//
wprintf(L"ERROR: API = %s.\n", pszAPI);
wprintf(L" error code = %d.\n", GetLastError());
wprintf(L" message = %s.\n", (LPWSTR)lpvMessageBuffer);
//
// Free the buffer allocated by the system
//
LocalFree(lpvMessageBuffer);
ExitProcess(GetLastError());
}
int _tmain(int argc, WCHAR* argv[])
{
PROCESS_INFORMATION pi = {0};
STARTUPINFO si = {0};
WCHAR szUserProfile[256] = L"";
si.cb = sizeof(STARTUPINFO);
if (argc != 5)
{
DisplayError(L"qe");
wprintf(L"Usage: %s [user] [domain] [password] [cmd]", argv[0]);
wprintf(L"\n\n");
return 1;
}
//DisplayError(L"qe");
if (!CreateProcessWithLogonW(argv[1], argv[2], argv[3],
LOGON_WITH_PROFILE, NULL,
argv[4],
CREATE_DEFAULT_ERROR_MODE |
CREATE_NEW_CONSOLE, NULL, NULL,
&si, &pi))
DisplayError(L"CreateProcessWithLogonW");
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
return 0;
}
Re: .bat, runas и .vbs
Добавлено: 2012-06-06 17:56:28
FreeBSP
попинайте что ли

Re: .bat, runas и .vbs
Добавлено: 2012-06-07 8:21:11
Alvares
paran0id писал(а):Можно первый запуск сделать с паролем (в смысле plain-text, как параметр runas)
Это как? Нет у runas такого параметра.
В общем, пока сделал через startup-скрипт (при запуске машины, а не при входе пользователя - там от админа работает).
psexec не поможет? Там точно есть параметр "пароль".
Или что-то типа
Код: Выделить всё
echo PASSWD | runas /user:USER@DOMAIN command
или как-там-его-это-перенаправление
Re: .bat, runas и .vbs
Добавлено: 2012-06-07 9:05:06
FreeBSP
Re: .bat, runas и .vbs
Добавлено: 2012-06-07 16:17:08
Alvares
Alvares писал(а):Или что-то типа
Код: Выделить всё
echo PASSWD | runas /user:USER@DOMAIN command
или как-там-его-это-перенаправление
Сорри, сам дятел, прочел невнимательно. Ну или предложенным выше самописным или pstools пользоваться. Чет нет мыслей боле. Админа нет, попинать его на предмет, как у нас. Через недельку тока если что.
Re: .bat, runas и .vbs
Добавлено: 2012-06-08 15:28:19
paran0id
проще оказалось сделать через стартап-скрипт (только важно, чтобы шара с файлами, к которым vbs обращается, была доступа пользователям не_домена, т.к. стартап-скрипт запускается от локальной учетки)
Re: .bat, runas и .vbs
Добавлено: 2012-07-30 15:01:49
rendevor
Что значит не хавает?
понятное дело, что через пайп ранас не хавает, но если один раз ввести пароль, с ключем сейвкред, то этот пароль сохраняется в хранилище. И если потом запускать этот скрипт от этого пользователя, с этим же ключем, то будет использоваться сохраненный пароль.
У меня ж работает
Код: Выделить всё
my $errcode = system("runas /user:Administrator /savecred \"net start \\\"hab$HAB_GROUP JBOSS\\\" \" > nul 2>&1");