PowerShell ISE runas Benutzer meldet anderen Benutzern mit whoami

656
user1330734

Ich möchte eine PowerShell ISE-Sitzung als Domänenbenutzer starten. Wenn ich eingebe:
runas.exe /netonly /user:domain.local\username "powershell ise"

Ich werde nach dem Kennwort gefragt und die ISE-Umgebung wird gestartet. Laufen whoamiliefert jedoch die folgende Ausgabe:
win-machine\user

Dies ist der lokale Computer und Benutzer, bei dem ich angemeldet bin.

Da sudoich mit einigen Linux- Anwendungen und deren Verwendung vertraut bin, beabsichtige ich, die entsprechende Benutzeränderung durchzuführen und Active Directory-Abfragen mit domain.local\usernameBerechtigungen über die Shell durchzuführen . Wie kann ich das erreichen?

BEARBEITEN: Beachten Sie, dass ich der Domäne nicht vom Host aus beitreten kann.

1
Ich bin mir ziemlich sicher, dass Sie der Domäne nicht beitreten müssen, um "runas" zu verwenden, ob mit oder ohne "/ netonly". Vorausgesetzt, die Domäne erlaubt NTLM-Authentifizierung - wenn sie die Kerberos-Authentifizierung erzwingt, haben Sie kein Glück. Meiner Ansicht nach. Bob vor 6 Jahren 0

1 Antwort auf die Frage

2
Bob

Dies geschieht, weil es explizit Ihren Wünschen entspricht.

Ich würde nachlesen, was der /netonlySwitch 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 -uin Linux. Dies bedeutet, dass alle lokalen und Remote-Aktionen unter dem angegebenen Benutzer ausgeführt werden.

Wenn Sie jedoch den /netonlySchalter passieren, werden die Dinge merkwürdig. runasLauf 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 runasBefehl 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 /netonlySchalter von Ihrem Befehl.


Überprüfen des Benutzers

Leider scheint es keinen einfachen Befehl whoamizu 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 computer2der Remote / netonlyBenutzer 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.