Durch cmd direkt in anderes Konto einloggen?
Moin Leute,
ich habe mich in der letzten Zeit näher mit dem cmd beschäftigt und habe dazu eine Frage. Man kann sich ja durch shutdown /l aus dem momentanen Konto ausloggen und wird dann zum Startbildschirm gebracht. Erst dann kann man sich in einen anderen Benutzer einloggen. Meine Frage ist nun, ob man das auch direkt im (Administrator)Konto durch einen Befehl machen kann?
Bspw. sowas wie "Melde dich von diesem Konto ab und logge dich mit Passwort xy in Benutzer xy ein!"
2 Antworten
klar kannst Du vor dem Ausloggen jedem der hinschaut das Passwort verraten
@echo off
MSG "%username%" /w "Melde dich von diesem Konto ab und logge dich mit Passwort xy in Benutzer xy ein"
tsdiscon
(tsdiscon gibts nicht in der Windows Home-Edition)
...das ist sicher nicht nicht was Dir vorschwebt.
So wie Du Dir das vorstellst geht das nicht.
Du kannst nicht ohne Sicherheits"Sperren" zu überwinden in ein anderes Profil wechseln.
Der Logonscreen ist die primitivste...
Mit dem ausloggen per shutdown /l beendest Du alle laufenden Prozesse des aktuellen Nutzers, also auch die cmd-Task, welche Dein Script ausführt. (Du sägst sozusagen den Ast ab, auf dem Du sitzt) Ende der Story , da läuft nichts mehr, was die Kontrolle über den Fortgang haben könnte...
Mit dem Befehl tsdiscon beendest Du zwar nicht die Tasks des aktuellen Nutzers, allerdings verlierst Du mit dem Wechsel in den Logonscreen dennoch die Kontrolle seitens des Nutzers, da der Logonscreen mit Systemrechten läuft, so das nicht mal ein Script mit Adminrechten darauf zugreifen kann.
Fazit, auf Oberflächenebene kannst Du per Programm lediglich ein Nutzerprofil beenden/verlassen und must Dich manuell in ein anderes Profil einloggen. Ein Hauch von Sicherheit (wegen dieser "Lücke" gibt's auch keine Befehle die den Fortgang steuern könnten)
Soviel zur Oberflächen-/Desktop-spielerei
Dessen ungeachtet kann man sehr wohl einzelne Programme oder Scripte als Administrator/Nutzer mit Adminrechten starten...
- Rechtsklick ...ausführen als Administrator
- mit dem Befehl Runas (ist Müll, darum keine weitern Worte)
- man baut in das Script eine kleine Routine ein , welche automatisch beim UAC Adminrechte anfordert (welch Du jedoch trotzdem manuell bestätigen musst)
AdminDemo.cmd
@echo off
net session >nul 2>&1 && goto :adminTasks
powershell -Command "&{ Start-Process \"%~f0\" -Verb RunAs}"
exit /b
:adminTasks
rem Hier kommt alles rein, was mit erhöhten Rechten ausgeführt wird!
echo Ich habe Adminrechte
pause
Du musst Dich als Programmierer (egal in welcher Sprache) vom Oberflächengeklicke lösen. Du arbeitest nicht mehr mit der bunten Oberfläche, sondern mit den "finsteren" Ebenen darunter... und denen ist es völlig egal was der Nutzer sieht.
Übrigens gibt es keinen (normalen) Weg vollautomatisch Adminrechte zu erlangen . (Unter "unsicheren" Bedingungen ist es Möglich per PSExec Prozesse als andere Nutzer (ohne den Weg über die UAC-Frage) auszuführen. Das ist allerdings problematisch, da das Passwort im Klartext in der Batch steht. Wenn da evtl ein schädliches Programm etwas aufpasst, weiß alle Welt, wie man bei Dir Adminrechte erlangt.