В Windows 7 I использую runas /netonly /user:...
выполнять что-то в соответствии с другой учетной записью. Если я ввожу пароль с опечаткой, программа запускается при моем текущем пользователе.
runas
даже кажется, не устанавливает ERRORLEVEL
когда это происходит. Там какой-либо путь состоит в том, чтобы обнаружить, когда пользователь ввел с опечаткой и не удался войти в систему новой учетной записи? Следующее не работает:
runas /netonly /user:my_other_username c:\programs\etc\something.exe
if ERRORLEVEL 1 pause
Почему программа запускается, вместо того, чтобы привести к сбою и сообщить о неверном пароле? Я не могу думать ни о каком серьезном основании, почему это должно быть поведением по умолчанию.
С /netonly
, обеспеченные учетные данные только применяются к сетевым соединениям (SMB, RPC). Процесс выполняется как тот же локальный пользователь. Поэтому runas
не имеет никакого способа знать, ввели ли Вы правильный пароль.
Для фактического запущения программы как другой учетной записи опустите /netonly
переключатель.