Como abrir um arquivo para edição no modo Administrador?

49

Eu tenho arquivos .config configurados para abrir no Notepad ++. Os arquivos que eu edito geralmente estão em locais protegidos (por exemplo, c: \ windows \, ​​c: \ arquivos de programas ..., etc.), exigindo, assim, acesso de administrador.

Gostaria de poder clicar duas vezes em um arquivo .config e ter o Notepad ++ aberto com privilégios de administrador. Tudo bem se o prompt do UAC aparecer.

Existe uma maneira de fazer isso?

AngryHacker
fonte

Respostas:

53

A melhor maneira é ir direto para a pasta na qual o Notepad ++ está instalado (Arquivos de Programas para Windows de 32 bits e Arquivos de Programas (x86) para Windows de 64 bits). Lá, encontre o executável do Notepad ++, clique com o botão direito do mouse e selecione Compatibilidade e, na parte inferior, marque a caixa Executar como administrador.

Isso fará com que seu aplicativo sempre apareça com um aviso do UAC, mas você sempre poderá editar como administrador.

Boa sorte!

EDIT: encontrado este artigo que permite criar o atalho sem iniciar o prompt do UAC. É tecnicamente para o Windows 10, mas deve funcionar da mesma maneira no Win7 +.

akseli
fonte
2
Podemos melhorar isso fazendo uma cópia do arquivo exe do Notepad ++ e configurando apenas a cópia para ser executada como administrador. Dessa forma, o bloco de notas normal ++ não solicitará sempre.
Joel Coehoorn
8
@JoelCoehoorn Isso pode ser feito através de um atalho em vez de uma cópia completa do exe (vá para o Advanced...botão na Shortcutguia da janela de propriedades do atalho para ativá-lo). Dessa forma, se você atualizar o bloco de notas, ele atualizará o seu não elevado e o seu atalhos elevados.
Scott Chamberlain
e como superuser.com/a/1462628/193963 coloque os dois atalhos no menu shell sendto
Bernhard
19

Descobri que pesquisar o programa editor (por exemplo, o Notepad ++) no menu Iniciar e digitar Ctrl+ Shift+ Enterpermite executar o programa como administrador.

Você poderá abrir e editar o arquivo que requer privilégios elevados.

elolos
fonte
3
Essa não é realmente uma resposta para a pergunta, pois ela pergunta como abrir um arquivo para edição com privilégios elevados.
Der Hochstapler
Você está certo, você abre o arquivo de dentro do editor dessa maneira e não com um clique duplo.
elolos
12

Como uma melhoria em relação à resposta do @ Askeli , você pode primeiro fazer uma cópia do executável do bloco de notas ++ (nomeie-o como algo como NotepadUAC). Em seguida, defina o modo de compatibilidade nas propriedades da sua cópia para exigir o modo de administrador, conforme sugerido por Askeli. Agora você também deve poder configurar seus arquivos .config para abrir usando a cópia em vez do original.

A vantagem aqui é que você não verá o prompt do UAC ao abrir arquivos com o arquivo original do Notepad ++ .exe. A desvantagem é que esta cópia não necessariamente se manterá atualizada da mesma maneira que a original e pode, eventualmente, causar problemas nas versões .dll ou de configuração incompatíveis. Mas sempre é fácil desinstalar / reinstalar se isso acontecer.

Joel Coehoorn
fonte
A sugestão de @ akseli funciona, no entanto, ainda vejo o prompt do UAC. Enfim, eu posso viver com isso.
AngryHacker
10

Minha solução foi fixar o Notepad ++ na barra de tarefas. Quando preciso dele para editar arquivos do sistema, clique com o botão direito do mouse, clique em "Notepad ++" e clique em "Executar como administrador".

As outras soluções que modificam o atalho ou fazem cópias dele são boas se você estiver editando arquivos do sistema o tempo todo. Uso o Notepad ++ diariamente, mas não mexo com arquivos protegidos todos os dias.

Marlon
fonte
6

Isso não estava disponível quando a pergunta original foi publicada em 2010, mas a partir de 2012 - a melhor resposta (pelo menos na minha opinião):

Instale o nppSaveAsAdmin:

Em http://sourceforge.net/projects/nppsaveasadmin :

Este plugin permite salvar qualquer arquivo como administrador. Basta pressionar "Salvar" no Notepad ++ e se você não tiver permissão para alterar este arquivo como usuário, o Notepad ++ o salvará como administrador. Windows XP, Windows Vista, Windows 7, Windows 8 são suportados.

O plug-in "Salvar como administrador" está disponível para instalação rápida e fácil no Gerenciador de plugins do Notepad ++. (Plugins / Gerenciador de plugins / Mostrar gerenciador de plugins / Disponível. Marque "Salvar como administrador", clique em "Instalar".)

O Notepad ++ continuará sendo executado normalmente e sem a necessidade de executar com tokens administrativos completos do UAC. No entanto, se o Notepad ++ perceber que você está tentando salvar um arquivo ao qual você não tem permissão de acesso, ele será bifurcado no NppAdminAccess.exe (exibindo um prompt do UAC). Basta clicar em "Sim" e seu arquivo será salvo com privilégios administrativos.

ziesemer
fonte
2
  1. Faça uma cópia do .exe do seu editor de texto na mesma pasta de arquivos de programa e acrescente "Admin" ou semelhante ao nome.
  2. Clique com o botão direito do mouse no novo exe -> Propriedades -> Compatibilidade -> Nível de privilégio -> Marque "Executar este programa como administrador"
  3. Crie um atalho para este exe na área de trabalho / barra de tarefas / menu Iniciar
  4. Arraste um arquivo txt que você deseja editar como administrador (ou atalho para um) para esse atalho

É a maneira mais fácil / flexível de encontrar isso quando preciso editar o arquivo hosts para desenvolvimento na web. Obviamente, se você deseja apenas abrir todos os arquivos de uma extensão como administrador, de acordo com a sugestão de Joel, basta usar o botão "abrir com ..." -> "Escolha o programa padrão" na cópia que você criou.

Brad
fonte
1

Desinstale os plugins (exceto o gerenciador de plugins). Isso corrigiu o problema para mim. Você pode instalar um plug-in de cada vez para ver quais plug-ins causam problemas.

usuário aluno do notepadpp
fonte
1

A solução a seguir não permite realmente o cenário de clique duplo, mas oferece o poder de escolha (e tecnicamente são também dois cliques):

Você pode adicionar um item de menu 'Executar como administrador' ao menu de contexto do shell por tipo de arquivo (ou melhor, por programa). Consulte este artigo para obter detalhes sobre o ajuste do registro.

ctusch
fonte
1
@ Ramhound Você gostaria de conferir o artigo vinculado e repensar seu voto negativo? Ou, em alternativa, aponte para qual resposta você está se referindo? A resposta de akseli sempre acionará o UAC. A resposta de Joel Coehoorn precisava de uma cópia do arquivo .exe (que não será atualizado automaticamente, como ele mencionou). Além disso, também sempre acionará o UAC para o tipo de arquivo específico. A resposta de Marlon apenas inicia o programa como administrador, você ainda precisa abrir o arquivo manualmente no Notepad ++. E a resposta do usuário do notepadpp studend é AFAICT fora de tópico.
precisa saber é
1

A melhor maneira é definir o Notepad ++ para ser executado como administrador. O problema é que ele quebra a opção Clique direito. Por isso, substituí a opção do botão direito que remove a antiga. A parte boa da minha correção é que eu a adicionei à configuração de Diretório no Registro. Então agora você pode clicar com o botão direito do mouse em uma pasta e escolher Editar com o Notepad ++ e ele abrirá todos os arquivos no Notepad ++ :). Eu faço muita programação em VBScript. Isso facilita a edição de todos os meus arquivos, fazendo alterações globais quando for apresentado um novo método de fazer algo ou alterar um objeto.

Meu VBScript faz backup das chaves do registro antes de alterá-las. Ele não define o Notepad ++ como administrador, portanto, você deve fazer isso clicando com o botão direito do mouse no executável do Notepad ++ e alterando-o para executar como administrador. Estou começando a pesquisar sobre como fazer isso funcionar como administrador. Quando eu surgir com isso, editarei minha postagem, para que você tenha a opção de editar como administrador ou editar normalmente.

'==========================================================================================
' NAME:   New-OpenWithNotepad++(WinVista7).vbs
' EDITED:  Kevin Dondrea , Gordos-Dondrea Enterprises and Foundation
' DATE  : 8/12/2012
' COMMENT: This script Exports Registry keys and replaced Notepad++ Right Click options.
'   Works with Windows Vista and 7.  Also works for restricted Win XP accounts.
' WEB LINK:  
'==========================================================================================

Option Explicit

' =============== START ADD ADMIN RIGHTS ===============
' This adds the Admin Run Function for Windows Vista and 7
' You must put this at the top below computer and End If at the
' very end of the script
If WScript.Arguments.length = 0 Then
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "WScript.exe", """" & _
WScript.ScriptFullName & """" &_
" RunAsAdministrator", , "runas", 1
Else
' Do not forget to add End If at the end of the script
' =============== END ADD ADMIN RIGHTS ===============

On Error Resume Next

' =============== START CONSTANT VARIABLES ===============
Const HKEY_CLASSES_ROOT   = &H80000000
Const HKEY_CURRENT_USER   = &H80000001
Const HKEY_LOCAL_MACHINE  = &H80000002
Const HKEY_USERS          = &H80000003
' =============== END CONSTANT VARIABLES ===============

' =============== START DIM VARIABLES ===============
Dim objFSO, objWrite2File, objShell, objReg, objRegistry, objWshShell
Dim strDate, strTime, strTime2, strFileName, strOpenFile
Dim strComputer, strCommand, strHostName, strUserName
Dim intRC, strKeyPath, strValueName, strValue
' =============== END DIM VARIABLES ===============

' --------------------------------------------------------------------------

' =============== START COMPUTER NAME, TIME and DATE ===============
strComputer = "."

' Reads registry for Computer Name
Set objShell = CreateObject("WScript.Shell")
' Edit or Add with Registrry Object
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
strComputer & "\root\default:StdRegProv")

' Same as above but used only to delete registry key
Set objRegistry=GetObject("winmgmts:\\" & _ 
strComputer & "\root\default:StdRegProv")

strHostName = objShell.RegRead ("HKLM\SYSTEM\CurrentControlSet\Services\" & _
        "Tcpip\Parameters\Hostname")
strUserName = objShell.RegRead ("HKLM\SOFTWARE\Microsoft\Windows NT\" & _
        "CurrentVersion\Winlogon\DefaultUserName")

' Retreives Date and Time
strTime = Right("0" & Hour(now()), 2) & Right("00" & _ 
    Minute(Now()), 2) & Second(Now())
strTime2 = Right("0" & Hour(now()), 2) & ":" & Right("00" & ":" & _ 
    Minute(Now()), 2) & ":" & Second(Now())
strDate = Right("0" & Month(now()), 2) & "-" & Right("00" & _ 
    Day(Now()), 2) & "-" & Year(Now())
' -----------------------------------------------------------

' =============== START BACKUP OF REGISTRY KEYS USED FOR ===============

' Original Command
' strCommand = "regedit /e <FilePath> <RegKey>"

' Local Machine ......
strCommand = "regedit /e " & strHostName & "-" & strDate & "-" & _ 
strTime & "-BackupLM-Notepad++.reg " & _ 
"""HKEY_LOCAL_MACHINE\SOFTWARE\Classes" & _ 
"\CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}"""

Set objWshShell = WScript.CreateObject("WScript.Shell")
intRC = objWshShell.Run(strCommand, 0, TRUE)
If intRC <> 0 then
 WScript.Echo "Error returned from exporting Registry: " & intRC
Else
 WScript.Echo "No errors returned from exporting the Registry file"
End If
' =============== END BACKUP OF REGISTRY KEYS USED FOR ===============

' -----------------------------------------------------------

' =============== START NEW OPEN * SHELL COMMAND ===============
' Name of Registry Entry Key\Path
strKeyPath = "*\shell\Edit With Notepad++\command"
objReg.CreateKey HKEY_CLASSES_ROOT,strKeyPath

' Name of Registry Entry String
strValueName = ""
strValue = "C:\progra~1\notepad++\notepad++.exe %1"
objReg.SetStringValue HKEY_CLASSES_ROOT,strKeyPath,NULL,strValue

' =============== START NEW OPEN DIRECTORY SHELL COMMAND ===============
' Name of Registry Entry Key\Path
strKeyPath = "Directory\shell\Edit With Notepad++\command"
objReg.CreateKey HKEY_CLASSES_ROOT,strKeyPath

' Name of Registry Entry String
strValueName = ""
strValue = "C:\progra~1\notepad++\notepad++.exe %1"
objReg.SetStringValue HKEY_CLASSES_ROOT,strKeyPath,NULL,strValue

' -----------------------------------------------------------

strKeyPath = "*\shellex\ContextMenuHandlers\ANotepad++"
objRegistry.DeleteKey HKEY_CLASSES_ROOT,strKeyPath

strKeyPath = "SOFTWARE\Classes\CLSID\{00F3C2EC-A6EE-11DE-A03A-EF8F55D89593}\Settings"
objRegistry.DeleteKey HKEY_LOCAL_MACHINE,strKeyPath

' Ending Message
MsgBox"Notepad++ Right-Click Settings" & VbCrLf & _
"Have Been Created", ,"Click OK To Close Window"

' Cleans up Variables From Memory
Set objFSO = Nothing
Set objWrite2File = Nothing
Set objShell = Nothing
Set objReg = Nothing
Set objRegistry = Nothing
Set objWshShell = Nothing
Set strDate = Nothing
Set strTime = Nothing
Set strTime2 = Nothing
Set strFileName = Nothing
Set strOpenFile = Nothing
Set strComputer = Nothing
Set strCommand = Nothing
Set strHostName = Nothing
Set strUserName = Nothing
Set intRC = Nothing
Set strKeyPath = Nothing
Set strValueName = Nothing
Set strValue = Nothing

End If

Kevin
fonte
0

Outra solução é abrir o "Menu Iniciar", procurar o aplicativo Bloco de Notas e clicar com o botão direito do mouse. Em seguida, clique em "Executar como administrador".

Agora você pode navegar no sistema de arquivos (através de "Bloco de notas / Arquivo / Abrir ...") para o arquivo que deseja editar.

Jérôme
fonte
0

apenas um método simples e eficaz:

  1. crie um atalho na área de trabalho (c: \ arquivos de programas \ bloco de notas ++ \ notpad ++. exe -> clique com o botão direito do mouse -> sendto -> área de trabalho)
  2. crie uma cópia desse atalho e adicione _ADMIN ao atalho
  3. clique com o botão direito do mouse no botão _ADMIN atalho - propriedades - atalho - botão avançado - marque "executar como administrador"
  4. abra um explorador de arquivos e digite "shell: sendto"
  5. arraste e solte os dois atalhos para a pasta aberta

agora você tem o notepad ++ e notepad ++ _ ADMIN na sua lista "SendTo" para qualquer arquivo.

Menu de contexto do Shell

Bernhard
fonte