Beim Überarbeiten diverser Skripts musste eine Alternative zu runas gefunden werden, da in neueren Windows 10-Ausgaben so manches nicht mehr ging wie früher. Alternativen wie MiniRunAs oder Umwege via PsExec halfen nur bedingt.
Eine Übersicht von Möglichkeiten fand sich hier:
raymond.cc – 5 Ways to Trigger UAC Elevation from Command Line
Gleich der erste Treffer half, dabei kommt ein alter Bekannter, nämlich NirCmd, zum Einsatz. Die Syntax ist gewohnt einfach:
nircmd.exe elevatecmd runassystem <Befehl>
Führt man diesen Befehl aus, erscheint eine Benutzerkontenabfrage (UAC).
In einem meiner Skripte sieht das z.B. so aus:
"%cd%\_CustomData\Tools\nircmd.exe" elevatecmd runassystem "%cd%\_CustomData\Java-BMC-MD5-1.cmd"
Was auch funktioniert, allerdings ohne SYSTEM-Rechte, ist:
nircmd.exe runas <Benutzername> <Kennwort> <Befehl>
Letztgenanntes lässt sich komplett in einem Skript mit Kennwortabfrage verwenden:
@echo off set NCUsername=Administrator set /p NCPassword="Bitte das Kennwort eingeben: " Tools\NirCmd.exe runas "%NCUsername%" "%NCPassword%" notepad
Update 14.02.2020
Kleine Ergänzung zu diesem Thema:
nircmd elevate <Befehl/Programm>
funktioniert ebenfalls.
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Schreibe einen Kommentar