Entrada do menu de contexto do script do PowerShell para executar o script como administrador sem sair

1

Estou muito perto disso. Basicamente, eu quero criar uma entrada de menu de contexto para arquivos .ps1 que executam o script como administrador sem sair da janela do console após a execução. Então eu posso criar a chave:

Computer\HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.ps1\shell\RunasAdministratorNoExit

com os valores:

eestátudobemeeleganteparacriaraentrada.Noentanto,pararealmentefazerfazeralgo,precisoadicionaroutrachave,achavedecomando:

Computer\HKEY_CURRENT_USER\SOFTWARE\Classes\SystemFileAssociations\.ps1\shell\RunasAdministratorNoExit\command

Enessachave,tenhoalgoquequasefunciona,masnãocompletamente.Portanto,ovalorpadrãodachavedecomandoacimaé:

Powershell.exe-WindowStyleHidden-Command"& {Start-Process PowerShell.exe -Verb RunAs -ArgumentList '-NoLogo -NoExit -File """%1"""'}"

Mas há um grande problema com esse método; Quando o script termina, ele me retorna ao diretório "C: \ Windows \ system32" em vez do diretório do próprio script. Veja minha imagem abaixo para esclarecimentos:

Alémdisso,quandoeuusoaentradadomenudecontextoquecrieiparaexecutarscriptscontendolinhascomo:

$settingsfiles=Get-ChildItem-Recurse$scanPath

Emvezderecorreratodasaspastaslocaisparaoscriptqueacabeideexecutar,eletentarecorreratodasaspastasem"C: \ Windows \ system32!" Claramente isso é indesejado. Então aqui está a minha pergunta:

O que preciso alterar no valor padrão da chave de comando para que o script do PowerShell funcione como se fosse executado no mesmo diretório do script?

    
por jippyjoe4 19.07.2018 / 03:45

1 resposta

1

Tente aproveitar o ... Cmdlet Set-Location ou Push-Location ou o scritpblock…

Script $ do Split-Path: MyInvocation.MyCommand.Path

... no seu comando final.

Ou apenas crie um novo atalho, configure como quiser e use o menu do botão direito do mouse SendTo, sem precisar de hackar o registro.

Veja este tópico mostrando a abordagem SendTo para o PowerShell.

PowerShell Limit Keys Accepted By Pause Script

    
por 19.07.2018 / 08:42