Unter Linux kann man su
für mehrere Befehle Root (Administrator) werden oder sudo ...
einen Befehl als Root ausführen.
Gibt es in Windows etwas Ähnliches für PowerShell oder cmd.exe, das es mir ermöglicht, einen Befehl mit erhöhten Berechtigungen auszuführen (z. B. das Erstellen eines symbolischen Links), ohne ein neues Fenster zu öffnen?
Antwort1
Sudo für 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
Nicht mein Code, ich gebe ihn nur weiter. Speichern Sie ihn als sudo.cmd und fügen Sie ihn in system32 oder irgendwo in Ihrem PATH ein. Dann können Sie Dinge tun wie:
sudo test.bat
Und test.bat würde mit erhöhten Berechtigungen ausgeführt.
Antwort2
In Powershell gibt es das Cmdlet Get-Credential, Sie können es sogar einer Variablen zuweisen und später in Ihren Powershell-Befehlen verwenden.
Sieh dir das anVerknüpfungfür mehr Informationen...