параметры - [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;
}
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!