Dies geschieht, weil es explizit Ihren Wünschen entspricht.
Ich würde nachlesen, was der /netonly
Switch macht: http://www.pseale.com/pretend-youre-on-the-domain-with-runas-netonly
Warum passiert das?
Im Grunde wird ein normales runas
Programm unter dem angegebenen Benutzer ausgeführt, ähnlich wie sudo -u
in Linux. Dies bedeutet, dass alle lokalen und Remote-Aktionen unter dem angegebenen Benutzer ausgeführt werden.
Wenn Sie jedoch den /netonly
Schalter passieren, werden die Dinge merkwürdig. runas
Lauf endet das Programm lokal unter dem aktuell angemeldeten Benutzer, aber alle Netzwerkanforderungen (vermutlich alles, was Kerberos / NTLM / SPNEGO Auth tut) den angegebenen Benutzer.
whoami
überprüft nur den lokalen Benutzer. Da Sie dies angegeben haben /netonly
, ist dies nicht der Fall, und Sie verfügen über alle Berechtigungen Ihres aktuell angemeldeten Benutzers. Sie verwenden das Profil Ihres aktuellen Benutzers für alle Einstellungen usw. Alle werden aktiviert, bis Sie eine Anfrage an einen Computer im Netzwerk senden. An dieser Stelle geben Sie den im runas
Befehl angegebenen Benutzer an .
Wenn es das ist, was du willst, großartig! Wenn nicht, und wenn Sie möchten, dass das Programm auch auf dem lokalen Computer vollständig unter dem angegebenen Benutzer ausgeführt wird, entfernen Sie den /netonly
Schalter von Ihrem Befehl.
Überprüfen des Benutzers
Leider scheint es keinen einfachen Befehl whoami
zu geben, um zu überprüfen, welchen Benutzer Sie bei der Verwendung als Remote-Benutzer ausführen /netonly
.
Wenn Sie eine Form des Befehls-Remoting aktiviert haben, können Sie diese möglicherweise verwenden. Ohne sie ist die einfachste Methode, die ich mir vorstellen kann, die Verbindung zu einer Netzwerkfreigabe und die Überprüfung der Freigabe, mit der Sie vom anderen Ende aus verbunden sind.
Von computer1:
runas /netonly /user:DOMAIN\TestUser2 powershell
Und in der Powershell-Instanz:
net use \\computer2
Die Verbindung mit der IPC$
Freigabe computer2
der Remote / netonly
Benutzer wird hergestellt. Sie können dies später mit rückgängig machen net use /delete \\computer2
.
Von computer2:
net share IPC$
Dies sollte Ihnen eine Liste der verbundenen Benutzer geben, die den Benutzer enthalten sollte, den Sie 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.