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.