Erstellen einer Ausführung Als Administrator Verknüpfung mit Powershell
In mein PowerShell-Skript erstellen Sie eine Verknüpfung zu einer .exe (mit etwas ähnlich wie die Antwort von diese Frage):
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$Home\Desktop\ColorPix.lnk")
$Shortcut.TargetPath = "C:\Program Files (x86)\ColorPix\ColorPix.exe"
$Shortcut.Save()
Nun, wenn ich die Verknüpfung erstellen, wie Stell ich das um das Skript, um es standardmäßig als Administrator ausgeführt?
- möglich, Duplikat der Wie kann ich die JScript verwenden, um eine Verknüpfung zu erstellen, verwendet "als Administrator Ausführen"
- Unbedingt Lesen, die Frage Nathan weiter oben verlinkt. Übersetzen Sie den code, um PowerShell: $Datei = "$Home\Desktop\ColorPix.lnk"; $bytes = [System.IO.File]::ReadAllBytes($Datei); $Byte[0x15] = $bytes[0x15] -bor 0x20; #Set RunAsAdministrator [System.IO.File]::WriteAllBytes($Datei, $bytes); Verwendung –bor festgelegt RunAsAdministrator option und –Bitweises rückgängig machen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Antwort ist ein PowerShell-übersetzung eine hervorragende Antwort auf diese Frage
Wie kann ich die JScript verwenden, um eine Verknüpfung zu erstellen, verwendet "als Administrator Ausführen".
Kurz gesagt, Sie brauchen, um zu Lesen .lnk-Datei in ein array aus bytes. Suchen Sie byte für byte 21 (0x15), und ändern Sie bit 6 (0 x 20) 1. Dies ist die RunAsAdministrator Flagge. Dann schreiben Sie Sie byte-array wieder in die .lnk-Datei.
Im code würde dies wie folgt Aussehen:
Wenn jemand etwas ändern möchtest, sonst in
.LNK
Datei, die Sie verweisen können, um offizielle Microsoft-Dokumentation.$bytes | Set-Content $shortcutPath -Encoding Byte
statt