Aggiungi l'opzione "Apri Powershell qui come amministratore" al menu contestuale della cartella


15

Ho cercato un modo per aprire direttamente un prompt Powershell elevato da Esplora risorse di Windows, tramite il menu di scelta rapida della cartella in cui voglio aprire il prompt.
Sto usando Windows 10 e tutti gli esempi che ho visto finora stato per le versioni precedenti di Windows. In precedenza avevo funzionato su Windows 8.1, ma l'aggiornamento a 10 lo ha rotto. Ho persino funzionato brevemente su Windows 10, ma un aggiornamento lo ha interrotto di nuovo (dicembre 2015).

Qualcuno conosce il modo corretto di aggiungere questa funzionalità a Windows? O è destinato a essere sovrascritto da futuri aggiornamenti di Windows?

Risposte:


20

Questo è l'unico modo che conosco per aggiungere attualmente questa funzione ai menu di scelta rapida in Esplora risorse:

[Esegui questo script in un prompt PowerShell elevato]

$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 ''
}

Questo script è tratto dal seguente link:

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

Sono sicuro al 99% che è stato così prima che l'ultima patch di Windows "rimuovesse" le mie impostazioni del registro (rimuovendo anche alcune altre personalizzazioni, come lo stato di avvio del blocco numerico, ma è meno fastidioso).

Se qualcuno conosce un approccio migliore; cioè che non sarà volatile, quindi per favore fatemi sapere e accetterò quella risposta.


1
Windows 10 è sicuramente un problema con UAC. Anche "disabilitato" è un costante mal di testa ._. L'unico motivo per cui non sono tornato a Windows 7 è perché ora ho 4 schermate.
Deadly-Bagel,

4
Rimuovere l' -NoProfileinterruttore per caricare automaticamente il profilo quando si avvia il prompt.
Ian Kemp,

Si noti che se si desidera aggiungere uno "script Esegui come amministratore" opzione di menu contestuale per la ps1 file stessi, sezione 2 questa risposta mostra come: stackoverflow.com/a/57033941/2441655
Venryx

1

L'ho fatto in questo modo. Fa parte di un piccolo menu che ho preparato. Modificalo a tuo piacimento:

[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"

0

Ecco una copia del file reg che utilizzo per aggiungere sia CMD che POWERSHELL al menu contestuale BACKGROUND di qualsiasi cartella in Windows 10:

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'"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.