Adicione a opção 'Open Powershell here as admin' ao menu de contexto da pasta

13

Eu tenho procurado uma maneira de abrir um prompt do Powershell elevado diretamente do Windows Explorer, através do menu de contexto da pasta na qual desejo abrir o prompt.
Estou usando o Windows 10 e todos os exemplos que vi até agora foram para versões mais antigas do Windows. Eu já tinha este trabalho no Windows 8.1, mas a atualização para 10 quebrou. Eu até consegui trabalhar com o Windows 10 brevemente, mas uma atualização quebrou novamente (dezembro de 2015).

Alguém conhece a maneira correta de adicionar esse recurso ao Windows? Ou está condenado a ser substituído por futuras atualizações no Windows?

    
por Astravagrant 16.12.2015 / 15:39

3 respostas

18

Esta é a única maneira que conheço atualmente para adicionar esse recurso aos menus de contexto no Windows Explorer:

[Execute este script em um prompt elevado de powershell]

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

Este script retirado do seguinte link:

link

Tenho 99% de certeza de que essa foi a maneira que fiz antes que o patch mais recente do Windows "removesse" minha configuração de registro (também removia algumas outras personalizações, como status de inicialização numlock, mas isso é menos irritante).

Se alguém souber uma abordagem melhor; ou seja, que não será volátil, então, por favor, avise-me e aceitarei essa resposta.

    
por 16.12.2015 / 15:43
2

Eu tenho feito assim. Faz parte de um pequeno menu que fiz. Edite-o ao seu gosto:

[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"
    
por 08.05.2017 / 10:56
0

Aqui está uma cópia do arquivo reg que eu uso para adicionar o CMD e o POWERSHELL ao menu de contexto BACKGROUND de qualquer pasta no Windows 10:

Windows Registry Editor Versão 5.00

; Add_Open_CMD_and_Powershell_to_Context_Menu.reg

; Apenas o fundo com o botão direito do mouse

; Solicitação do CMD

[HKEY_CLASSES_ROOT \ Diretório \ Fundo \ shell \ 01MenuCmd] "MUIVerb"="Prompts de comando" "Ícone"="cmd.exe" "ExtendedSubCommandsKey"="Diretório \ Plano de fundo \ ContextMenus \ MenuCmd"

[HKEY_CLASSES_ROOT \ Diretório \ Fundo \ shell \ 01MenuCmd] "MUIVerb"="Prompts de comando" "Ícone"="cmd.exe" "ExtendedSubCommandsKey"="Diretório \ Plano de fundo \ ContextMenus \ MenuCmd"

[HKEY_CLASSES_ROOT \ Diretório \ Background \ ContextMenus \ MenuCmd \ shell \ open] "MUIVerb"="Prompt de comando" "Ícone"="cmd.exe"

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

[HKEY_CLASSES_ROOT \ Diretório \ Fundo \ ContextMenus \ MenuCmd \ shell \ runas] "MUIVerb"="Prompt de Comando Elevado" "Ícone"="cmd.exe" "HasLUAShield"=""

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

; PowerShell

[HKEY_CLASSES_ROOT \ Diretório \ Fundo \ shell \ 02MenuPowerShell] "MUIVerb"="Prompts do PowerShell" "Ícone"="powershell.exe" "ExtendedSubCommandsKey"="Diretório \ Plano de fundo \ ContextMenus \ MenuPowerShell"

[HKEY_CLASSES_ROOT \ Diretório \ Fundo \ shell \ 02MenuPowerShell] "MUIVerb"="Prompts do PowerShell" "Ícone"="powershell.exe" "ExtendedSubCommandsKey"="Diretório \ Plano de fundo \ ContextMenus \ MenuPowerShell"

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

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

[HKEY_CLASSES_ROOT \ Directory \ Background \ ContextMenus \ MenuPowerShell \ shell \ runas] "MUIVerb"="PowerShell Elevado" "Ícone"="powershell.exe" "HasLUAShield"=""

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

    
por 18.03.2018 / 06:14