Fügen Sie dem Ordner-Kontextmenü die Option "PowerShell hier als Administrator öffnen" hinzu

15

Ich habe nach einer Möglichkeit gesucht, über das Kontextmenü des Ordners, in dem ich die Eingabeaufforderung öffnen möchte, eine Eingabeaufforderung mit erhöhten Rechten in Windows Explorer direkt zu öffnen.
Ich verwende Windows 10 und alle Beispiele, die ich bisher gesehen habe war für ältere Versionen von Windows. Ich hatte zuvor dieses auf Windows 8.1 arbeiten, aber das Update auf 10 brach es. Ich habe es sogar kurz auf Windows 10 zum Laufen gebracht, aber ein Update hat es wieder kaputt gemacht (Dezember 2015).

Kennt jemand den richtigen Weg, um diese Funktion zu Windows hinzuzufügen? Oder ist es zum Scheitern verurteilt, von zukünftigen Updates für Windows überschrieben zu werden?

Astravagrant
quelle

Antworten:

20

Dies ist die einzige mir bekannte Möglichkeit, diese Funktion derzeit Kontextmenüs in Windows Explorer hinzuzufügen:

[Führen Sie dieses Skript in einer erhöhten Powershell-Eingabeaufforderung aus]

$menu = 'Open Windows PowerShell Here as Administrator'
$command = "$PSHOME\powershell.exe -NoExit -NoProfile -Command ""Set-Location '%V'"""

'directory', 'directory\background', 'drive' | ForEach-Object {
    New-Item -Path "Registry::HKEY_CLASSES_ROOT\$_\shell" -Name runas\command -Force |
    Set-ItemProperty -Name '(default)' -Value $command -PassThru |
    Set-ItemProperty -Path {$_.PSParentPath} -Name '(default)' -Value $menu -PassThru |
    Set-ItemProperty -Name HasLUAShield -Value ''
}

Dieses Skript stammt aus dem folgenden Link:

http://www.powershellmagazine.com/2013/06/25/pstip-how-to-start-an-elevated-powershell-from-windows-explorer/

Ich bin mir zu 99% sicher, dass ich das so gemacht habe, bevor der letzte Windows-Patch meine Registrierungseinstellung 'entfernt' hat (es hat auch einige andere Anpassungen entfernt, wie den Numlock-Startstatus, aber das ist weniger ärgerlich).

Wenn jemand einen besseren Ansatz kennt; dh das wird nicht flüchtig, dann lass es mich wissen und ich werde diese Antwort akzeptieren.

Astravagrant
quelle
1
Windows 10 ist sicherlich ein Problem mit der Benutzerkontensteuerung. Sogar "behindert" ist es eine ständige Kopfschmerzen. Der einzige Grund, warum ich nicht zu Windows 7 zurückgekehrt bin, ist, dass ich jetzt 4 Bildschirme habe.
Deadly-Bagel
4
Entfernen Sie den -NoProfileSchalter, um Ihr Profil automatisch zu laden, wenn Sie die Eingabeaufforderung starten.
Ian Kemp
Beachten Sie, dass, wenn Sie eine Kontextmenüoption "Skript als Administrator ausführen" für die ps1-Dateien selbst hinzufügen möchten, Abschnitt 2 dieser Antwort wie folgt
lautet
1

Ich habe es so gemacht. Es ist Teil eines kleinen Menüs, das ich gemacht habe. Bearbeiten Sie es nach Ihren Wünschen:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\OAPS.Tools]
"ImpliedSelectionModel"=dword:00000001
"Icon"="imageres.dll,-5373"
"ExplorerCommandHandler"="{BF0AC53F-D51C-419F-92E3-2298E125F004}"
@="Admin Pshell Here"
pbanj
quelle
0

Hier ist eine Kopie der Registrierungsdatei, die ich verwende, um CMD und POWERSHELL zum HINTERGRUND-Kontextmenü eines Ordners in Windows 10 hinzuzufügen:

Windows Registry Editor Version 5.00

;Add_Open_CMD_and_Powershell_to_Context_Menu.reg

;Right-Click Background only

;CMD Prompt

[HKEY_CLASSES_ROOT\Directory\Background\shell\01MenuCmd] "MUIVerb"="Command Prompts" "Icon"="cmd.exe" "ExtendedSubCommandsKey"="Directory\Background\ContextMenus\MenuCmd"

[HKEY_CLASSES_ROOT\Directory\Background\shell\01MenuCmd] "MUIVerb"="Command Prompts" "Icon"="cmd.exe" "ExtendedSubCommandsKey"="Directory\Background\ContextMenus\MenuCmd"

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuCmd\shell\open] "MUIVerb"="Command Prompt" "Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuCmd\shell\open\command] @="cmd.exe /s /k pushd \"%V\""

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuCmd\shell\runas] "MUIVerb"="Command Prompt Elevated" "Icon"="cmd.exe" "HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuCmd\shell\runas\command] @="cmd.exe /s /k pushd \"%V\""

; PowerShell

[HKEY_CLASSES_ROOT\Directory\Background\shell\02MenuPowerShell] "MUIVerb"="PowerShell Prompts" "Icon"="powershell.exe" "ExtendedSubCommandsKey"="Directory\Background\ContextMenus\MenuPowerShell"

[HKEY_CLASSES_ROOT\Directory\Background\shell\02MenuPowerShell] "MUIVerb"="PowerShell Prompts" "Icon"="powershell.exe" "ExtendedSubCommandsKey"="Directory\Background\ContextMenus\MenuPowerShell"

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\shell\open] "MUIVerb"="PowerShell" "Icon"="powershell.exe"

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\shell\open\command] @="powershell.exe -noexit -command Set-Location '%V'"

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\shell\runas] "MUIVerb"="PowerShell Elevated" "Icon"="powershell.exe" "HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\shell\runas\command] @="powershell.exe -noexit -command Set-Location '%V'"

Bobkush
quelle