67 votes

Comment ouvrir un fichier à éditer en mode administrateur ?

Les fichiers .config sont configurés pour être ouverts dans Notepad++. Les fichiers que je modifie se trouvent généralement dans des emplacements protégés (par exemple, c : \windows\ , c : \program fichiers..., etc...) nécessitant ainsi un accès administrateur.

J'aimerais pouvoir double-cliquer sur un fichier .config et faire en sorte que Notepad++ s'ouvre avec des privilèges d'administrateur. Il n'y a pas de problème si l'invite UAC s'affiche.

Y a-t-il un moyen de le faire ?

3voto

Bernhard Points 161

Une méthode simple et efficace :

  1. créer un raccourci sur le bureau (c : \program fichiers \notepad ++ \notpad ++.exe -> clic droit -> envoyer -> bureau)
  2. créer une copie de ce raccourci et ajouter _ADMIN au raccourci
  3. cliquez avec le bouton droit de la souris sur le raccourci _ADMIN - propriétés - raccourci - bouton avancé - cochez "exécuter en tant qu'administrateur".
  4. Ouvrez un explorateur de fichiers et tapez "Shell:sendto".
  5. glisser et déposer les deux raccourcis dans le dossier ouvert

maintenant vous avez à la fois notepad++ et notepad++_ADMIN dans votre liste "SendTo" pour tout fichier.

Shell contextmenu

2voto

Nuramon Points 150
  1. Faites une copie du fichier .exe de votre éditeur de texte dans le même dossier de fichiers de programmes et ajoutez "Admin" ou un nom similaire au nom.
  2. Cliquez à droite sur le nouvel exe -> Propriétés -> Compatibilité -> Niveau de privilège -> Cochez "Exécuter ce programme en tant qu'administrateur".
  3. Créez un raccourci de cet exe sur votre bureau, dans la barre des tâches ou dans le menu Démarrer.
  4. Faites glisser un fichier txt que vous souhaitez modifier en tant qu'administrateur (ou un raccourci vers un tel fichier) dans ce raccourci.

C'est le moyen le plus simple et le plus flexible que j'ai trouvé pour faire cela lorsque je dois modifier le fichier hosts pour le développement web. Bien sûr, si vous voulez juste ouvrir tous les fichiers d'une extension en tant qu'administrateur, comme l'a suggéré Joel, vous pouvez simplement utiliser la fonction "ouvrir avec..." -> "Choisir le programme par défaut" sur la copie y. -> "Choisir le programme par défaut" sur la copie que vous avez créée.

2voto

Kevin Points 9

Le meilleur moyen est de configurer Notepad++ pour qu'il s'exécute en tant qu'administrateur. Le problème est que cela casse l'option de clic droit. J'ai donc créé un remplacement de l'option de clic droit qui supprime l'ancienne. La partie intéressante de mon correctif est que je l'ai ajouté aux paramètres du répertoire dans le registre. Ainsi, vous pouvez maintenant faire un clic droit sur un dossier et choisir Editer avec Notepad++ et cela ouvrira tous les fichiers dans Notepad++ :). Je fais beaucoup de programmation en VBScript. Cela me permet d'éditer facilement tous mes fichiers en effectuant des modifications globales lorsque je trouve une nouvelle méthode pour faire quelque chose ou modifier un objet.

Mon VBScript sauvegarde les clés de registre avant de les modifier. Il ne configure pas Notepad++ en tant qu'administrateur. Vous devez donc faire un clic droit sur l'exécutable Notepad++ et le modifier pour qu'il soit exécuté en tant qu'administrateur. Je commence à faire des recherches sur la façon d'en faire une exécution en tant qu'administrateur. Lorsque j'aurai trouvé cette solution, je modifierai mon message pour que vous ayez la possibilité d'éditer en tant qu'administrateur ou d'éditer normalement.

'==========================================================================================
' 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

1voto

PattySpringDev Points 1

Désinstallez les plugins (sauf le gestionnaire de plugins). Cela a réglé le problème pour moi. Vous pouvez installer un seul plugin à la fois pour voir quel(s) plugin(s) pose(nt) des problèmes.

1voto

ctusch Points 219

La solution suivante ne permet pas vraiment le scénario du double clic, mais elle vous donne le pouvoir de choisir (et techniquement, il s'agit aussi de deux clics) :

Vous pouvez ajouter un élément de menu 'Exécuter en tant qu'administrateur' au menu contextuel de Shell sur une base par type de fichier (ou plutôt par programme). Voir cet article pour plus de détails sur la modification du registre.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X