Это происходит потому, что это именно то, что вы просили.
Я бы рекомендовал прочитать о том, что делает переключатель /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.