it-swarm.dev

¿Cómo abrir un archivo para editarlo en modo administrador?

Tengo archivos de configuración configurados para abrir en Notepad ++. Los archivos que edito suelen estar en ubicaciones protegidas (por ejemplo, c:\windows \, ​​c:\archivos de programa ..., etc.), por lo que requieren acceso de administrador.

Me gustaría poder hacer doble clic en un archivo .config y tener abierto Notepad ++ con privilegios de administrador. Está bien si surge el aviso UAC.

¿Hay una manera de hacerlo?

49
AngryHacker

La mejor manera de hacerlo es ir directamente a la carpeta en la que está instalado Notepad ++ (Archivos de programa para Windows de 32 bits y Archivos de programa (x86) para Windows de 64 bits), busque el ejecutable de Notepad ++, haga clic con el botón derecho en él y seleccione Compatibilidad, y en la parte inferior marque la casilla para Ejecutar como administrador.

Esto hará que su aplicación siempre aparezca con una advertencia de UAC, pero siempre tendrá la posibilidad de editar como administrador.

¡Buena suerte!

53
akseli

Encontré que buscar el programa editor (por ejemplo, Notepad ++) en el menú Inicio y luego escribir Ctrl+Shift+Enter le permite ejecutar el programa como administrador.

Entonces debería poder abrir y editar el archivo que requiere privilegios elevados.

19
elolos

Como mejora con respecto a la respuesta de @ Askeli , primero puede hacer una copia del ejecutable notepad ++ (asígnele el nombre NotepadUAC). Luego, configure el modo de compatibilidad en las propiedades de su copia para requerir el modo de administrador como lo sugiere Askeli. Ahora también debería poder configurar sus archivos .config para que se abran utilizando la copia en lugar del original.

La ventaja aquí es que no verá el mensaje UAC cuando abra archivos con el archivo original (predeterminado) Notepad ++ .exe. La desventaja es que esta copia no necesariamente se mantendrá actualizada de la misma manera que la original, y podría causar problemas con las versiones .dll o config no coincidentes. Pero siempre es bastante fácil de desinstalar/reinstalar si eso sucede.

12
Joel Coehoorn

Mi solución fue colocar Notepad ++ en la barra de tareas. Cuando lo necesito para la edición de archivos del sistema, hago clic derecho sobre él, hago clic en "Bloc de notas ++" y luego en "Ejecutar como administrador".

Las otras soluciones que modifican el acceso directo o hacen copias de él están bien si está editando archivos del sistema todo el tiempo. Uso Notepad ++ a diario, pero no me meto con archivos protegidos todos los días.

10
Marlon

Esto no estaba disponible cuando la pregunta original se publicó en 2010, pero a partir de 2012 - la mejor respuesta (al menos como lo considero):

Instalar nppSaveAsAdmin:

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

Este complemento te permite guardar cualquier archivo como administrador. Simplemente presione "Guardar" en Notepad ++ y, si no tiene permiso para cambiar este archivo como usuario, Notepad ++ lo guardará como administrador. Windows XP, Windows Vista, Windows 7, Windows 8 son compatibles.

El complemento "Guardar como administrador" está disponible para una instalación rápida y fácil desde el Administrador de complementos Notepad ++. (Complementos/Administrador de complementos/Mostrar Administrador de complementos/Disponible. Marque "Guardar como administrador", haga clic en "Instalar".)

Notepad ++ continuará ejecutándose como de costumbre, y sin necesidad de ejecutarse con tokens UAC administrativos completos. Sin embargo, si Notepad ++ ve que está intentando guardar un archivo al que, de lo contrario, no se le permitirá acceder, se bifurcará en NppAdminAccess.exe (mostrando un mensaje UAC). Simplemente haga clic en "Sí" y su archivo se guardará con privilegios administrativos.

6
ziesemer
  1. Haga una copia del archivo .exe de su editor de texto en la misma carpeta de archivos de programa y agregue "Admin" o similar al nombre.
  2. Haga clic derecho en el nuevo exe -> Propiedades -> Compatibilidad -> Nivel de privilegio -> Marque "Ejecutar este programa como administrador"
  3. Cree un acceso directo a este archivo en su escritorio/barra de tareas/menú de inicio
  4. Arrastre un archivo txt que desee editar como Administrador (o acceso directo a uno) en este acceso directo

Es la forma más fácil/flexible que he encontrado para hacer esto cuando tengo que editar el archivo hosts para el desarrollo web. Por supuesto, si solo desea abrir todos los archivos de una extensión como administrador, de acuerdo con la sugerencia de Joel, puede usar "abrir con ..." -> "Elegir programa predeterminado" en la copia que creó.

2
Brad

La mejor manera es configurar Notepad ++ para que se ejecute como administrador. El problema con eso es que rompe la opción de clic derecho. Así que hice un reemplazo en la opción de clic derecho que elimina la anterior. La parte agradable de mi corrección es que la agregué a la configuración del Directorio en el Registro. Así que ahora puede hacer clic derecho en una carpeta y seleccionar Editar con Notepad ++ y se abrirán todos los archivos en Notepad ++ :). Hago mucha programación en VBScript. Eso me facilita editar todos mis archivos haciendo cambios globales cuando se me ocurre un nuevo método para hacer algo o cambiar un objeto.

My VBScript realiza una copia de seguridad de las claves de registro antes de que las cambie. No establece Notepad ++ como administrador, por lo que debe hacerlo haciendo clic con el botón derecho en el ejecutable de Notepad ++ y cambiándolo para que se ejecute como administrador. Estoy empezando a investigar sobre cómo hacer que esto se ejecute como administrador. Cuando se me ocurra, editaré mi publicación para que tenga la opción de editar como Administrador o 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
1
Kevin

Desinstale los complementos (excepto el administrador de complementos). Esto solucionó el problema para mí. Puede instalar un complemento a la vez para ver qué complemento (s) causa problemas.

1

La siguiente solución no permite realmente el escenario de doble clic, pero le da la posibilidad de elegir (y técnicamente también son dos clics):

Puede agregar un elemento del menú 'Ejecutar como administrador' al menú de contexto de Shell en función de cada tipo de archivo (o más bien por programa). Consulte este artículo para obtener detalles sobre el Tweak de registro.

1
ctusch

solo un método simple y efectivo:

  1. crear un acceso directo en el escritorio (c:\archivos de programa\notepad ++\notpad ++. exe -> clic derecho -> sendto -> escritorio)
  2. crear una copia de ese acceso directo y agregar _ADMIN al acceso directo
  3. haga clic con el botón derecho en el acceso directo _ADMIN - propiedades - acceso directo - botón avanzado - marque "ejecutar como administrador"
  4. abra un Explorador de archivos y escriba "Shell: sendto"
  5. arrastre y suelte ambos accesos directos a la carpeta abierta

ahora tiene notepad ++ y notepad ++ _ ADMIN en su lista "SendTo" para cualquier archivo.

Shell contextmenu

0
Bernhard

Otra solución es abrir el "Menú de inicio", buscar la aplicación Bloc de notas y hacer clic derecho. Luego haga clic en "Ejecutar como administrador".

Ahora puede explorar el sistema de archivos (a través de "Bloc de notas/Archivo/Abrir ...") para encontrar el archivo que desea editar.

0
Jérôme