webentwicklung-frage-antwort-db.com.de

Wie öffne ich eine Datei zur Bearbeitung im Administratormodus?

Ich habe .config-Dateien so eingestellt, dass sie in Notepad ++ geöffnet werden. Die Dateien, die ich bearbeite, befinden sich normalerweise an geschützten Orten (z. B. c:\windows \, ​​c:\program files ..., etc ..) und erfordern daher Administratorzugriff.

Ich möchte in der Lage sein, auf eine .config-Datei zu doppelklicken und Notepad ++ mit Administratorrechten zu öffnen. Es ist in Ordnung, wenn die UAC-Eingabeaufforderung angezeigt wird.

Gibt es eine Möglichkeit, das zu tun?

49
AngryHacker

Am besten wechseln Sie direkt in den Ordner, in dem Notepad ++ installiert ist (Programme für 32-Bit-Windows und Programme (x86) für 64-Bit-Windows), suchen dort die ausführbare Datei Notepad ++, klicken Sie mit der rechten Maustaste darauf und wählen Sie Kompatibilität und aktivieren Sie unten das Kontrollkästchen Als Administrator ausführen.

Dadurch wird Ihre Anwendung immer mit einer UAC-Warnung angezeigt, Sie können sie jedoch immer als Administrator bearbeiten.

Viel Glück!

53
akseli

Ich habe festgestellt, dass im Startmenü nach dem Editor-Programm (z. B. Notepad ++) gesucht und dann eingegeben wird Ctrl+Shift+Enter lässt Sie das Programm als Administrator ausführen.

Sie sollten dann in der Lage sein, die Datei zu öffnen und zu bearbeiten, für die erhöhte Berechtigungen erforderlich sind.

19
elolos

Als Verbesserung gegenüber @ Askelis Antwort können Sie zuerst eine Kopie des Notepad ++ ausführbar machen (nennen Sie es so etwas wie NotepadUAC). Stellen Sie dann den Kompatibilitätsmodus in den Eigenschaften Ihrer Kopie so ein, dass der von Askeli vorgeschlagene Administratormodus erforderlich ist. Jetzt sollten Sie auch in der Lage sein, Ihre .config-Dateien so einzurichten, dass sie nicht mehr im Original, sondern in der Kopie geöffnet werden.

Der Vorteil hierbei ist, dass die UAC-Eingabeaufforderung beim Öffnen von Dateien mit der ursprünglichen (Standard-) Notepad ++ .exe-Datei nicht angezeigt wird. Der Nachteil ist, dass diese Kopie nicht unbedingt auf die gleiche Weise wie das Original auf dem neuesten Stand ist und möglicherweise Probleme mit nicht übereinstimmenden DLL- oder Konfigurationsversionen verursacht. In diesem Fall ist es jedoch immer einfach genug, das Programm zu deinstallieren bzw. neu zu installieren.

12
Joel Coehoorn

Meine Lösung war, Notepad ++ in die Taskleiste zu pinnen. Wenn ich es für die Bearbeitung von Systemdateien benötige, klicke ich mit der rechten Maustaste darauf, klicke auf "Notepad ++" und klicke auf "Als Administrator ausführen".

Die anderen Lösungen, mit denen Sie die Verknüpfung ändern oder Kopien davon erstellen können, sind in Ordnung, wenn Sie ständig Systemdateien bearbeiten. Ich benutze Notepad ++ täglich, aber ich spiele nicht jeden Tag mit geschützten Dateien.

10
Marlon

Dies war nicht verfügbar, als die ursprüngliche Frage im Jahr 2010 veröffentlicht wurde, aber ab 2012 - die beste Antwort (zumindest, wie ich es sehe):

Installiere nppSaveAsAdmin:

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

Mit diesem Plugin können Sie eine beliebige Datei als Administrator speichern. Klicken Sie in Notepad ++ einfach auf "Speichern". Wenn Sie diese Datei nicht als Benutzer ändern dürfen, speichert Notepad ++ sie als Administrator. Windows XP, Windows Vista, Windows 7, Windows 8 werden unterstützt.

Das Plugin "Save as admin" ist für eine schnelle und einfache Installation über den Notepad ++ Plugin Manager verfügbar. (Plugins/Plugin Manager/Plugin Manager anzeigen/Verfügbar. Aktivieren Sie "Als Administrator speichern" und klicken Sie auf "Installieren".)

Notepad ++ wird weiterhin wie gewohnt ausgeführt, ohne dass vollständige administrative UAC-Token erforderlich sind. Wenn Notepad ++ jedoch feststellt, dass Sie versuchen, eine Datei zu speichern, auf die Sie sonst keinen Zugriff haben, wird NppAdminAccess.exe aufgerufen (und eine UAC-Eingabeaufforderung angezeigt). Klicken Sie einfach auf "Ja" und Ihre Datei wird mit Administratorrechten gespeichert.

6
ziesemer
  1. Erstellen Sie eine Kopie der EXE-Datei Ihres Texteditors im selben Programmordner und fügen Sie "Admin" oder ähnliches an den Namen an.
  2. Klicken Sie mit der rechten Maustaste auf die neue Exe -> Eigenschaften -> Kompatibilität -> Berechtigungsstufe -> Aktivieren Sie "Dieses Programm als Administrator ausführen".
  3. Erstellen Sie auf Ihrem Desktop/in der Taskleiste/im Startmenü eine Verknüpfung zu dieser Exe
  4. Ziehen Sie eine txt-Datei, die Sie als Administrator bearbeiten möchten (oder eine Verknüpfung zu einer), in diese Verknüpfung

Ist der einfachste/flexibelste Weg, den ich gefunden habe, um dies zu tun, wenn ich die Hosts-Datei für die Webentwicklung bearbeiten muss. Natürlich können Sie, wenn Sie nur alle Dateien einer Erweiterung als Administrator öffnen möchten, wie von Joel vorgeschlagen, die Option "Öffnen mit ..." -> "Standardprogramm auswählen" für die von Ihnen erstellte Kopie verwenden.

2
Brad

Der beste Weg ist, Notepad ++ so einzustellen, dass es als Administrator ausgeführt wird. Das Problem dabei ist, dass die Rechtsklick-Option nicht funktioniert. Also habe ich die Rechtsklick-Option ersetzt, durch die die alte Option entfernt wird. Der nette Teil meines Updates ist, dass ich es der Verzeichniseinstellung in der Registrierung hinzugefügt habe. Nun können Sie mit der rechten Maustaste auf einen Ordner klicken und Mit Notepad ++ bearbeiten auswählen. Daraufhin werden alle Dateien in Notepad ++ geöffnet :). Ich mache viel VBScript-Programmierung. Das macht es mir einfach, alle meine Dateien zu bearbeiten und globale Änderungen vorzunehmen, wenn ich eine neue Methode finde, um etwas zu tun oder ein Objekt zu ändern.

Mein VBScript sichert die Registrierungsschlüssel, bevor sie geändert werden. Notepad ++ wird nicht als Administrator festgelegt. Klicken Sie dazu mit der rechten Maustaste auf die ausführbare Datei von Notepad ++ und ändern Sie sie, um als Administrator ausgeführt zu werden. Ich beginne zu erforschen, wie man dies zu einem Run as Administrator macht. Wenn ich darauf komme, bearbeite ich meinen Beitrag, sodass Sie die Möglichkeit haben, ihn als Administrator oder normal zu bearbeiten.

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

Deinstallieren Sie die Plugins (außer Plugin Manager). Dies hat das Problem für mich behoben. Sie können jeweils ein Plugin installieren, um festzustellen, welche Plugins Probleme verursachen.

Die folgende Lösung lässt das Doppelklick-Szenario nicht wirklich zu, bietet Ihnen jedoch die Möglichkeit der Auswahl (und technisch gesehen sind es auch zwei Klicks):

Sie können dem Shell-Kontextmenü einen Menüeintrag "Als Administrator ausführen" für jeden Dateityp (oder besser für jedes Programm) hinzufügen. Siehe diesen Artikel für Details zum Registry Tweak.

1
ctusch

Eine andere Lösung besteht darin, das "Startmenü" zu öffnen, nach der Anwendung Notepad zu suchen und mit der rechten Maustaste darauf zu klicken. Klicken Sie anschließend auf "Als Administrator ausführen".

Sie können nun das Dateisystem (über "Editor/Datei/Öffnen ...") nach der Datei durchsuchen, die Sie bearbeiten möchten.

0
Jérôme