Comment ouvrir un fichier pour le modifier en mode Administrateur?

49

J'ai des fichiers .config configurés pour s'ouvrir dans Notepad ++. Les fichiers que je modifie sont généralement situés dans des emplacements protégés (par exemple, c: \ windows \, ​​c: \ fichiers programme, etc.), nécessitant ainsi un accès administrateur.

J'aimerais pouvoir double-cliquer sur un fichier .config et faire ouvrir Notepad ++ avec les privilèges d'administrateur. C'est bien si l'invite UAC apparaît.

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

AngryHacker
la source

Réponses:

53

La meilleure façon de procéder consiste à accéder directement au dossier dans lequel Notepad ++ est installé (Program Files pour Windows 32 bits et Program Files (x 86) pour Windows 64 bits). Recherchez l’exécutable de Notepad ++, cliquez dessus avec le bouton droit de la souris et sélectionnez Compatibilité, et en bas, cochez la case Exécuter en tant qu’administrateur.

Votre application apparaîtra toujours avec un avertissement UAC, mais vous aurez toujours la possibilité d’éditer en tant qu’administrateur.

Bonne chance!

EDIT: cet article vous a permis de créer le raccourci sans lancer l'invite UAC. C'est techniquement pour Windows 10, mais devrait fonctionner de la même manière sur Win7 +.

Akseli
la source
2
Nous pouvons améliorer cela en créant une copie du fichier exe Notepad ++ et en définissant uniquement la copie pour qu'elle s'exécute en tant qu'administrateur. De cette façon, le bloc-notes régulier ++ ne vous le demandera pas à chaque fois.
Joel Coehoorn
8
@JoelCoehoorn Cela peut être fait via un raccourci au lieu d'une copie intégrale de l'exe (cliquez sur le Advanced...bouton de l' Shortcutonglet de la fenêtre des propriétés du raccourci pour l'activer). Ainsi, si vous mettez à jour le bloc-notes ++, vos mises à jour non élevées et raccourcis élevés.
Scott Chamberlain
et comme superuser.com/a/1462628/193963 ont mis les deux raccourcis vers le menu sendto du shell
Bernhard
19

J'ai constaté que la recherche du programme d'édition (par exemple, Notepad ++) dans le menu Démarrer, puis la frappe de Ctrl+ Shift+ Entervous permettent d'exécuter le programme en tant qu'administrateur.

Vous devriez alors pouvoir ouvrir et éditer le fichier qui requiert des privilèges élevés.

Elolos
la source
3
Cependant, ce n’est pas vraiment une réponse à la question, car il demande comment ouvrir un fichier pour l’éditer avec des privilèges élevés.
Der Hochstapler
Vous avez raison, vous ouvrez le fichier depuis l'éditeur de cette manière et non par un double clic.
Elolos
12

Pour améliorer la réponse de @ Askeli , vous pouvez d’abord faire une copie du fichier exécutable notepad ++ (nommez-le comme NotepadUAC). Ensuite, définissez le mode de compatibilité dans les propriétés de votre copie pour exiger le mode administrateur, comme suggéré par Askeli. Maintenant, vous devriez également pouvoir configurer vos fichiers .config pour qu'ils s'ouvrent en utilisant la copie plutôt que l'original.

L'avantage ici est que l'invite UAC ne s'affiche pas lors de l'ouverture de fichiers contenant le fichier d'origine (par défaut) Notepad ++ .exe. L'inconvénient est que cette copie ne va pas nécessairement se tenir à jour de la même manière que l'original et peut éventuellement poser problème avec des versions .dll ou config incompatibles. Mais il est toujours assez facile de désinstaller / réinstaller si cela se produit.

Joel Coehoorn
la source
La suggestion de @ akseli fonctionne, cependant, je vois toujours l'invite UAC. En tout cas, je peux vivre avec.
AngryHacker
10

Ma solution consistait à épingler Notepad ++ dans la barre des tâches. Lorsque j'en ai besoin pour éditer les fichiers système, je clique dessus avec le bouton droit de la souris, clique sur "Notepad ++", puis sur "Exécuter en tant qu'administrateur".

Les autres solutions permettant de modifier le raccourci ou d’en faire des copies conviennent si vous modifiez constamment des fichiers système. J'utilise Notepad ++ tous les jours mais je ne plaisante pas avec les fichiers protégés tous les jours.

Marlon
la source
6

Ce n'était pas disponible lorsque la question initiale a été publiée en 2010, mais à partir de 2012 - la meilleure réponse (du moins telle que je la considère):

Installez nppSaveAsAdmin:

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

Ce plugin vous permet de sauvegarder n’importe quel fichier en tant qu’administrateur. Appuyez simplement sur "Enregistrer" dans Notepad ++ et si vous n'êtes pas autorisé à modifier ce fichier en tant qu'utilisateur, Notepad ++ l'enregistre en tant qu'administrateur. Windows XP, Windows Vista, Windows 7 et Windows 8 sont pris en charge.

Le plug-in "Enregistrer en tant qu'administrateur" est disponible pour une installation rapide et facile à partir du Notepad ++ Plugin Manager. (Plugins / Gestionnaire de plugins / Afficher le gestionnaire de plugins / Disponible. Cochez "Enregistrer en tant qu'administrateur", cliquez sur "Installer".)

Notepad ++ continuera à fonctionner comme d'habitude, et sans avoir besoin de s'exécuter avec des jetons UAC administratifs complets. Toutefois, si Notepad ++ constate que vous essayez d'enregistrer un fichier auquel vous ne pouvez pas accéder, il se connecte à NppAdminAccess.exe (affichant une invite UAC). Cliquez simplement sur "Oui" et votre fichier sera sauvegardé avec les privilèges d'administrateur.

Ziesemer
la source
2
  1. Faites une copie du fichier .exe de votre éditeur de texte dans le même dossier de fichiers de programme et ajoutez «Admin» ou similaire au nom.
  2. Faites un clic droit 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 vers cet exe sur votre bureau / barre de tâches / menu de démarrage
  4. Faites glisser un fichier txt que vous souhaitez modifier en tant qu'administrateur (ou un raccourci vers un) dans ce raccourci

C’est le moyen le plus simple et le plus souple que j’ai trouvé de le faire lorsque je dois éditer le fichier hosts pour le développement Web. Bien sûr, si vous voulez simplement ouvrir tous les fichiers d'une extension en tant qu'administrateur, selon la suggestion de Joel, vous pouvez simplement utiliser les options "Ouvrir avec ..." -> "Choisir le programme par défaut" sur la copie que vous avez créée.

Brad
la source
1

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

notepadpp étudiant utilisateur
la source
1

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

Vous pouvez ajouter un élément de menu "Exécuter en tant qu'administrateur" au menu contextuel du shell selon le type de fichier (ou plutôt par programme). Voir cet article pour plus de détails sur le réglage du registre.

ctusch
la source
1
@Ramhound Voulez-vous s'il vous plaît vérifier l'article lié et repenser votre vote négatif? Ou encore, indiquez de quelle réponse vous parlez? La réponse d'Akseli déclenchera toujours le contrôle de compte d'utilisateur La réponse de Joel Coehoorn nécessitait une copie du fichier .exe (qui ne sera pas automatiquement mis à jour, comme il l'a mentionné). En outre, il déclenchera toujours le contrôle de compte d'utilisateur pour le type de fichier spécifique. La réponse de Marlon ne fait que démarrer le programme en tant qu'administrateur; vous devez toujours ouvrir le fichier manuellement dans Notepad ++. Et la réponse de notepadpp studend user est AFAICT hors sujet.
ctusch
1

Le meilleur moyen consiste à configurer Notepad ++ pour qu'il s'exécute en tant qu'administrateur. Le problème, c’est qu’il casse l’option clic droit. J'ai donc fait un remplacement à l'option clic droit qui supprime l'ancien. La partie intéressante de mon correctif est que je l'ai ajouté au paramètre Directory dans le registre. Alors maintenant, vous pouvez cliquer avec le bouton droit sur un dossier et choisir Éditer avec Notepad ++ et tous les fichiers de Notepad ++ seront ouverts. Je fais beaucoup de programmation VBScript. Cela me permet de modifier facilement tous mes fichiers en effectuant des modifications globales lorsque je propose une nouvelle méthode pour modifier ou modifier un objet.

Mon VBScript sauvegarde les clés de registre avant de les modifier. Notepad ++ n’est pas défini en tant qu’administrateur. Vous devez le faire en cliquant avec le bouton droit de la souris sur l’exécutable de Notepad ++ et en le modifiant pour qu’il soit exécuté en tant qu’administrateur. Je commence à chercher comment en faire une course en tant qu'administrateur. Quand j'arrive à cela, je vais éditer mon message pour que vous puissiez le modifier en tant qu'administrateur ou 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

Kevin
la source
0

Une autre solution consiste à ouvrir le "Menu Démarrer", à rechercher l'application Notepad et à cliquer dessus avec le bouton droit de la souris. Cliquez ensuite sur "Exécuter en tant qu'administrateur".

Vous pouvez maintenant parcourir le système de fichiers (via "Bloc-notes / Fichier / Ouvrir ...") pour trouver le fichier que vous souhaitez modifier.

Jérôme
la source
0

juste une méthode simple et efficace:

  1. créer un raccourci sur le bureau (c: \ program files \ notepad ++ \ notpad ++. exe -> clic droit -> sendto -> bureau)
  2. créer une copie de ce raccourci et ajouter _ADMIN au raccourci
  3. clic droit 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. faites glisser les deux raccourcis dans le dossier ouvert

vous avez maintenant à la fois notepad ++ et notepad ++ _ADMIN dans votre liste "SendTo" pour tous les fichiers.

Shell contextmenu

Bernhard
la source