Это происходит потому, что это именно то, что вы просили.
Я бы рекомендовал прочитать о том, что делает переключатель /netonly
: http://www.pseale.com/pretend-youre-on-the-domain-with-runas-netonly
Почему это происходит
Обычно обычный runas
запускает программу под указанным пользователем, так же, как sudo -u
в Linux. Это означает, что все локальные и удаленные действия происходят под указанным пользователем.
Однако когда вы передаете /netonly
, все становится странно. runas
запускает программу локально под текущим вошедшим пользователем, но любые сетевые запросы (предположительно, все, что выполняет Kerberos/NTLM/SPNEGO auth) используют указанного пользователя.
whoami
проверяет только локального пользователя. Поскольку вы указали /netonly
, это не изменится , и у вас будут все разрешения вашего текущего вошедшего в систему пользователя, вы будете использовать профиль текущего пользователя для любых настроек и т.д. Все до тех пор, пока вы не сделаете запрос к сетевому компьютеру, после чего вы будете выдавать себя за пользователя, которого вы указали в команде runas
.
Если это то, что вы хотите, отлично! Если нет, и если вы действительно хотите, чтобы программа работала полностью под указанным пользователем даже на локальном компьютере, удалите /netonly
из вашей команды.
Проверка пользователя
К сожалению, не похоже, чтобы такая простая команда, как whoami
проверяла, с каким пользователем вы работаете удаленно при использовании /netonly
.
Если у вас включена какая-либо форма удаленного взаимодействия команд, вы можете использовать их. Без них самый простой метод, который я могу придумать, - это подключение к общему сетевому ресурсу и проверка, к какому общему ресурсу вы подключены с другого конца.
С компьютера1:
runas /netonly /user:DOMAIN\TestUser2 powershell
И внутри экземпляра powershell:
net use \\computer2
Который будет подключаться к IPC$
computer2
netonly
используя удаленного пользователя. Позже вы можете отменить это с помощью net use /delete \\computer2
.
С компьютера2:
net share IPC$
Это должно дать вам список подключенных пользователей, который должен включать того, кого вы runas
:
Share name IPC$
Path
Remark Remote IPC
Maximum users No limit
Users TestUser2
Caching Manual caching of documents
Permission Everyone, FULL
The command completed successfully.