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

48

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

Eu 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?

    
por AngryHacker 06.12.2010 / 22:54

10 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), encontre o executável do Notepad ++, clique com o botão direito nele 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á editá-lo como administrador.

Boa sorte!

    
por 06.12.2010 / 22:59
19

Eu descobri que procurar pelo programa de edição (por exemplo, Notepad ++) no menu Iniciar e depois digitar Ctrl + Deslocar + Enter você executa o programa como administrador.

Você deve então poder abrir e editar o arquivo que requer privilégios elevados.

    
por 31.08.2012 / 12:15
12

Como uma melhoria em relação a @ Resposta de Askeli , você pode primeiro fazer uma cópia do executável do notepad ++ (Nomeie algo como NotepadUAC). Em seguida, defina o modo de compatibilidade nas propriedades de sua cópia para exigir o modo de administrador, conforme sugerido por Askeli. Agora você também deve ser capaz de definir 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 (padrão) do Notepad ++ .exe. A desvantagem é que essa cópia não necessariamente se manterá atualizada da mesma maneira que a original, e pode eventualmente causar problemas com versões .dll ou config incompatíveis. Mas é sempre fácil desinstalar / reinstalar se isso acontecer.

    
por 06.12.2010 / 23:10
10

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

As outras soluções modificando o atalho ou fazendo cópias dele são boas se você estiver editando arquivos do sistema o tempo todo. Eu uso o Notepad ++ diariamente, mas não mexi com arquivos protegidos todos os dias.

    
por 07.12.2010 / 06:14
6

Isso não estava disponível quando a pergunta original foi postada em 2010, mas a partir de 2012 - a melhor resposta (pelo menos como eu a considero):

Instale o nppSaveAsAdmin:

De link :

This plugin allows you to save any file as administrator. Just press "Save" in Notepad++ and if you are not allowed to change this file as user, Notepad++ will save it as administrator. Windows XP, Windows Vista, Windows 7, Windows 8 are supported.

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

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

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

É a maneira mais fácil / flexível que encontrei para fazer isso quando tenho que editar o arquivo de hosts para desenvolvimento da web. É claro que se você quiser apenas abrir todos os arquivos de uma extensão como administrador, por sugestão de Joel, basta usar o comando "abrir com ..." - > "Escolha o programa padrão" na cópia que você criou.

    
por 31.12.2012 / 21:24
1

Desinstale os plug-ins (exceto gerenciador de plug-ins). Isso resolveu o problema para mim. Você pode instalar um plug-in no momento para ver quais plug-ins causam problemas.

    
por 16.02.2012 / 20:10
1

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

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

    
por 27.08.2012 / 14:50
1

A melhor maneira é definir o Notepad ++ para ser executado como administrador. O problema com isso é que quebra a opção Click Direito. Então eu fiz uma substituição para a opção de clique direito que remove o antigo. A parte boa da minha correção é que eu adicionei a configuração do diretório no registro. Então agora você pode clicar com o botão direito do mouse em uma pasta e selecionar Editar com o Notepad ++ e ele abrirá todos os arquivos no Notepad ++ :). Eu faço muita programação VBScript. Isso torna mais fácil para mim editar todos os meus arquivos fazendo alterações globais quando eu for criar um novo método de fazer algo ou alterar um objeto.

Meu VBScript faz o backup das chaves do registro antes de alterá-las. Ele não define o Notepad ++ como administrador, portanto, você precisa fazer isso clicando com o botão direito no executável do Notepad ++ e alterando-o para ser executado como administrador. Eu estou começando a pesquisar sobre como fazer isso funcionar como administrador. Quando eu descobrir que vou editar minha postagem, você terá a opção de editar como Admin 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

    
por 23.10.2013 / 13:04
0

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

Agora você pode navegar pelo sistema de arquivos (através de "Notepad / File / Open ...") para o arquivo que deseja editar.

    
por 15.10.2013 / 09:21