Programme unter Windows XP mit anderen Rechten ausführen

Wenn man unter Windows XP nicht ständig als Administrator, sondern als gewöhnlicher Benutzer mit eingeschränkten Rechten angemeldet ist, kann man nicht auf alle Verzeichnisse schreibend zugreifen. Diese Einschränkungen sind deshalb gut, um Schaden am System durch unbedarfte Benutzer zu vermeiden. Um Viren und vor allem Würmern eine geringere Angriffsfläche zu bieten, ist es daher ratsam, während der täglichen Arbeit mit eingeschränkten Rechten angemeldet zu sein.

Was, wenn man jetzt ein Programm installieren möchte? Man muss sich dann nicht abmelden und als Administrator anmelden, sondern nutzt das unter XP vorhandene Systemprogramm runas, das Pendant zu sudo unter Linux. Mit beiden Programmen ist es möglich, unter Angabe des Administratorpassworts vorübergehend höhere Rechte zu erlangen, um Aufgaben des Systemverwalters ausführen zu können.

Ein Aufruf von runas /? in der Kommandozeile gibt Auskunft über mögliche Parameter. Damit sind wir beim eigentlichen Problem: Der runas-Befehl lässt sich nur über die Kommandozeile aufrufen, aber dazu gleich mehr. Mit runas ist es beispielsweise möglich, eine Anwendung mit dem Profil eines anderen Benutzers auszuführen, um auf dessen Heimatverzeichnis zugreifen zu können. Wir möchten jedoch kurzfristig Administratorrechte erlangen, weshalb wir eine kleine Batchdatei schreiben und unter beliebigem Namen z.B. auf dem Desktop abspeichern:

runas /user:%COMPUTERNAME%Administrator %1

Sehr simpel. Was passiert hier? Der Parameter user gibt an, dass ein anderer Benutzer dieses Programm aufrufen soll, in diesem Fall der Administrator dieses Computers, da die Systemvariable %COMPUTERNAME% in den Rechnernamen aufgelöst wird. Als zweiten Parameter erwartet runas den Pfad zu einer Datei, die ausgeführt oder geöffnet werden soll. Damit wir das zu installierende Programm per Drag & Drop aufrufen können, steht %1 als zweiter Parameter. Alternativ kann die Batch-Datei oder besser eine Verknüpfung dorthin auch im Sendto-Ordner im Benutzerverzeichnis abgelegt werden, so dass der Aufruf durch einen Rechtsklick auf das Programm über den Menüpunkt “Senden an” möglich ist. Dazu darf der Name der Batchdatei allerdings nicht der gleiche wie das aufgerufene Systemprogramm sein, also nicht etwa runas.bat, weil es sonst zu einem rekursiven Aufruf kommt.

Eine kleine Anmerkung: Beim Herumprobieren ist mir wieder aufgefallen, wieviel besser die Parameteraufrufe mit -- unter Linux im Gegensatz zu / unter Windows sind. Ich konnte mir bis jetzt auch nicht merken, wann ich Forward Slash und wann Backslash nehmen muss. Windows kann bei der Navigation im Dateisystem zwar mit beiden umgehen, aber bei Parametern geht nur Forward Slash, bei Netzlaufwerken und Computernamen nur Backslash. Schlechte Usability.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>