Sudo für Windows Vista: sudo.cmd

von Georg Binder 16. July 2008 01:11

Windows Vista verfügt bekanntlich über die Benutzerkontensteuerung ("User Account Control").
Mit aktivierter UAC starten Prozesse immer mit eingeschränkten Rechten. Will man nun einen Prozess mit erhöhten Rechten starten kann man z.B. die rechte Maustaste drücken und "Als Administrator ausführen" anklicken.
Für Programme mit grafischer Oberfläche ist dies recht praktikabel - wenn man so wie ich viel auf der Kommandozeile herumfuhrwerkt weniger. Da wünscht man sich doch sehr einen Befehl wie den sudo Befehl den - so hört man - andere Betriebssysteme schon länger haben. (Doch zur Ehrenrettung von Windows Vista: Bei diesen anderen Betriebssystemen ist man auch stärker auf die Kommandozeile angewiesen...)

Nachdem ich mit dem auf Vistablog.at vorgestellten start++ aus verschiedenen Gründen nicht zufrieden bin, und es wieder deinstalliert habe, wollte ich mir selbst einen einfachen sudo Befehl stricken.

Hier ist mein vierzeiliges Batchscript sudo.cmd:

@echo Set objShell = CreateObject("Shell.Application") > %temp%\\sudo.tmp.vbs
@echo args = Right("%*", (Len("%*") - Len("%1"))) >> %temp%\\sudo.tmp.vbs
@echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\\sudo.tmp.vbs
@cscript %temp%\\sudo.tmp.vbs

Im Gegensatz zu Linux können Befehle mit niedrigen und Befehle mit erhöhten Rechten aber nicht in der selben Commandshell (im selben Fenster) laufen.

Ein Aufruf von sudo ipconfig /renew führt also dazu, dass sich ein neues Fenster öffnet, dieses sich aber gleich wieder schließt.

Man muss daher beachten, dass man bei bestimmten Befehlen, wo die Ausgabe stehen bleiben soll noch cmd /k dazwischenhängt.

Hier ein paar Beispiele:

sudo cmd

Öffnet eine Kommandozeile mit erhöhten Rechten

sudo ping -t 192.168.1.1

Öffnet eine Kommandozeile mit dem Ping Befehl. Weil "-t" angegeben ist schließt sich das Fenster erst, wenn man mit Strg-C abbricht. - Dabei verpasst man aber die Zusammenfassung am Ende des Ping Befehls...

sudo cmd /k ipconfig /renew
sudo cmd /k  ping 192.168.1.1

Will man also verhindern, dass sich das Fenster schließt, muss man cmd /k dazwischen hängen.

sudo iexplore

Für Befehle mit grafischer Oberfläche kann man sudo natürlich auch verwenden.

sudo regedit

Bei Befehlen mit grafischer Oberfläche, die ohnedies nur mit erhöhten Rechten laufen würden, kann man sich Sudo übrigens ersparen! - Regedit würde von sich aus einen UAC Prompt provozieren.
Dies gilt aber nicht für Kommandozeilenprogramme!
So führt z.B. ipconfig -flushdns ohne erhöhte Rechte zu der Fehlermeldung "Der angeforderte Vorgang erfordert erhöhte Rechte."

sudo cmd /k ipconfig -flushdns

So geht's richtig!

Ein Tipp zum Abschluss: Tastenkombination ALT+F nicht vergessen - dann kann man beim Abnicken des UAC Prompts noch mal Zeit sparen und braucht nicht zur Maus zu greifen!

Comments

>

7/16/2008 1:11:00 AM #

ah ok alles klar. ich hab nur ab und zu dort vorbeigeschaut, weil mich mesh sehr interessiert und ein feature ist welches ist zu 100% nutzen werde - dabei hab ich halt festgestellt, dass man sich mit seiner live ID einloggen konnte.

meine live ID ist sowieso auf englisch, da ich den zune, die zune software und auch den zune marketplace verwende (zunepass) und auch die musik bezahle.

apropos: der support von MS ist einfach spitze!!! musste wegen login problemen beim zunesupport anrufen - ganze 2 stunden bin ich am telefon mit einer sehr netten dame gehangen und haben jeden lösungsschritt gemacht - obwohl ich aus österreich komme (MS gibt eigentlich keinen support für europäer, da der zune nur in den usa und canada verkauft werden darf) fünf daumen für MS

Marijan | Reply

>

7/16/2008 1:11:00 AM #

LiveMesh ist noch nicht für alle offen. Wir verdoppeln nur die Kapazität und erlauben die Nutzung für nahezu jeden, der rechtzeitig kommt. Siehe:
blogs.technet.com/.../...ive-mesh-ausprobiert.aspx

VG, Daniel

Daniel Melanchthon | Reply

>

7/16/2008 1:11:00 AM #

Eigentlich erscheint Mesh erst im Oktober? Jedenfalls, ist es derzeit noch nicht für alle Verfügbar. Ansonsten .. Quelle?

Gruß
Alexander

Alexander | Reply

>

7/16/2008 1:11:00 AM #

Immer dieses geSUDOre Smile

Karlmann | Reply

>

7/16/2008 1:11:00 AM #

hallo georg/ christian!

live mesh ist seit gestern für alle verfügar... http://mesh.com

Marijan | Reply

>

10/29/2009 10:38:30 AM #

Hallo!

Funktioniert das sudo-Command auch unter Windows 7 (32/64)?

MJR Austria | Reply

>

1/17/2010 3:46:56 PM #

Hallo MJR, unter Windows 7 Pro x64 läuft es. Vielen Dank an Georg!

Vincent Germany | Reply

>

7/4/2010 3:24:06 PM #

Wie wäre es mit simpler Nutzung von Boardmittlen?
'runas /?' gibt Auskunft.

foobar Germany | Reply

Add comment




  Country flag

biuquote
Loading



Menü

Home
Über WindowsBlog.at
Archiv
Abonnieren Feed
Kontakt
Twitter

Follow Me

Dieser Blog wird von Microsoft Österreich betrieben.

Offizielle Facebook Fan Page:
facebook.com/windowsdeutsch

Poll

Braucht WindowsBlog ein neues Hintergrundbild?



Show Results

Kommentare

Kommentare RSS

http://www.microsoft.com/austria | © 2009 Microsoft Corporation. Alle Rechte vorbehalten.
BlogEngine.NET 1.5.0.7 powered by atwork