Jak otworzyć plik do edycji w trybie administratora?

49

Mam pliki .config ustawione do otwierania w Notepad ++. Pliki, które edytuję, zwykle znajdują się w chronionych lokalizacjach (np. C: \ windows \, ​​c: \ program files ... itd.), Dlatego wymagają dostępu administratora.

Chciałbym móc dwukrotnie kliknąć plik .config i otworzyć Notepad ++ z uprawnieniami administratora. W porządku, jeśli pojawi się monit UAC.

Czy jest na to sposób?

AngryHacker
źródło

Odpowiedzi:

53

Najlepszym sposobem jest przejście bezpośrednio do folderu, w którym zainstalowany jest Notepad ++ (Pliki programu dla 32-bitowego systemu Windows i Pliki programu (x86) dla 64-bitowego systemu Windows), tam znajdź plik wykonywalny Notepad ++, kliknij go prawym przyciskiem myszy i wybierz Zgodność, a na dole zaznacz pole Uruchom jako administrator.

Spowoduje to, że Twoja aplikacja będzie zawsze wyświetlać ostrzeżenie UAC, ale zawsze będziesz mieć możliwość edycji jako administrator.

Powodzenia!

EDYCJA: Znaleziono ten artykuł, który pozwala utworzyć skrót bez uruchamiania monitu UAC. Technicznie jest to system Windows 10, ale powinien działać tak samo na Win7 +.

akseli
źródło
2
Możemy to poprawić, tworząc kopię pliku exe Notepad ++ i ustawiając tylko kopię do uruchomienia jako administrator. W ten sposób zwykły notatnik ++ nie będzie monitował za każdym razem.
Joel Coehoorn,
8
@JoelCoehoorn Można to zrobić za pomocą skrótu zamiast pełnej kopii pliku exe (przejdź do Advanced...przycisku na Shortcutzakładce okna właściwości skrótu, aby go włączyć), w ten sposób, jeśli zaktualizujesz notatnik ++, zaktualizuje on zarówno twój nie podniesiony, jak i twój podwyższone skróty.
Scott Chamberlain,
i jak superuser.com/a/1462628/193963 umieść oba skróty w menu sendto powłoki
Bernhard
19

Odkryłem, że wyszukiwanie programu edytora (np. Notepad ++) w menu Start, a następnie wpisanie Ctrl+ Shift+ Enterpozwala uruchomić program jako administrator.

Powinieneś być w stanie otworzyć i edytować plik, który wymaga podniesionych uprawnień.

elolos
źródło
3
To jednak nie jest odpowiedź na pytanie, ponieważ pyta, jak otworzyć plik do edycji z podwyższonymi uprawnieniami.
Der Hochstapler
Masz rację, w ten sposób otwierasz plik z poziomu edytora, a nie podwójnym kliknięciem.
elolos
12

Jako ulepszenie w stosunku do odpowiedzi @ Askeli , możesz najpierw zrobić kopię pliku wykonywalnego notatnika ++ (Nazwij to jak NotepadUAC). Następnie ustaw tryb zgodności we właściwościach kopii, aby wymagać trybu administratora, zgodnie z sugestią Askeli. Teraz powinieneś być w stanie ustawić pliki .config, aby otwierały się przy użyciu kopii, a nie oryginału.

Zaletą jest to, że nie zobaczysz monitu UAC podczas otwierania plików z oryginalnym (domyślnym) plikiem .exe Notepad ++. Wadą jest to, że ta kopia niekoniecznie będzie aktualizować się w taki sam sposób, jak oryginał, i może ostatecznie spowodować problemy z niedopasowanymi wersjami .dll lub konfiguracji. Ale jeśli tak się stanie, zawsze jest wystarczająco łatwo odinstalować / zainstalować ponownie.

Joel Coehoorn
źródło
Sugestia @ akseli działa, jednak nadal widzę monit UAC. W każdym razie mogę z tym żyć.
AngryHacker,
10

Moim rozwiązaniem było przypięcie Notepad ++ do paska zadań. Kiedy potrzebuję go do edycji plików systemowych, klikam go prawym przyciskiem myszy, klikam „Notepad ++”, a następnie „Uruchom jako administrator”.

Inne rozwiązania modyfikujące skrót lub wykonujące jego kopie są w porządku, jeśli cały czas edytujesz pliki systemowe. Używam Notepad ++ na co dzień, ale nie bałam się chronionymi plikami na co dzień.

Marlon
źródło
6

Nie było to dostępne, gdy pierwotne pytanie zostało opublikowane w 2010 r., Ale od 2012 r. - najlepsza odpowiedź (przynajmniej tak uważam):

Zainstaluj nppSaveAsAdmin:

Ze strony http://sourceforge.net/projects/nppsaveasadmin :

Ta wtyczka pozwala zapisać dowolny plik jako administrator. Po prostu naciśnij „Zapisz” w Notepad ++, a jeśli nie możesz zmienić tego pliku jako użytkownik, Notepad ++ zapisze go jako administrator. Obsługiwane są systemy Windows XP, Windows Vista, Windows 7, Windows 8.

Wtyczka „Zapisz jako administrator” jest dostępna do szybkiej i łatwej instalacji z Notepad ++ Plugin Manager. (Wtyczki / Menedżer wtyczek / Pokaż menedżera wtyczek / Dostępne. Zaznacz „Zapisz jako administrator”, kliknij „Zainstaluj”).

Notepad ++ będzie nadal działać jak zwykle i bez konieczności uruchamiania z pełnymi tokenami administracyjnymi UAC. Jeśli jednak Notepad ++ zobaczy, że próbujesz zapisać plik, do którego w innym wypadku nie masz dostępu, przejdzie do NppAdminAccess.exe (wyświetlając monit UAC). Po prostu kliknij „Tak”, a plik zostanie zapisany z uprawnieniami administratora.

ziesemer
źródło
2
  1. Utwórz kopię .exe swojego edytora tekstowego w tym samym folderze plików programu i dołącz „Administrator” lub podobny do nazwy.
  2. Kliknij prawym przyciskiem myszy nowy plik exe -> Właściwości -> Zgodność -> Poziom uprawnień -> Zaznacz „Uruchom ten program jako administrator”
  3. Utwórz skrót do tego pliku exe na pulpicie / pasku zadań / menu Start
  4. Przeciągnij plik txt, który chcesz edytować jako Administrator (lub skrót do jednego) w tym skrócie

Jest to najłatwiejszy / najbardziej elastyczny sposób, w jaki udało mi się to zrobić, gdy muszę edytować plik hosts do programowania. Oczywiście, jeśli chcesz tylko otworzyć wszystkie pliki jednego rozszerzenia jako administrator, zgodnie z sugestią Joela, możesz po prostu użyć opcji „otwórz za pomocą ...” -> „Wybierz program domyślny” na utworzonej kopii.

Ćwiek
źródło
1

Odinstaluj wtyczki (oprócz menedżera wtyczek). To rozwiązało problem. Możesz zainstalować jedną wtyczkę na raz, aby zobaczyć, które wtyczki powodują problemy.

użytkownik studenta notepadpp
źródło
1

Poniższe rozwiązanie nie pozwala na scenariusz podwójnego kliknięcia, ale daje możliwość wyboru (i technicznie są to również dwa kliknięcia):

Możesz dodać pozycję menu „Uruchom jako administrator” do menu kontekstowego powłoki dla poszczególnych typów plików (a raczej programów). Zobacz ten artykuł, aby uzyskać szczegółowe informacje na temat ulepszenia rejestru.

ctusch
źródło
1
@Ramhound Czy zechciałbyś przejrzeć powiązany artykuł i przemyśleć swoją opinię? Lub alternatywnie wskazać, do której odpowiedzi się odnosisz? Odpowiedź akseli zawsze wyzwoli UAC. Odpowiedź Joela Coehoorna wymagała kopii pliku .exe (który, jak wspomniał, nie zostanie automatycznie zaktualizowany). Również zawsze będzie wyzwalał UAC dla określonego typu pliku. Odpowiedź Marlona uruchamia program jako administrator, nadal musisz ręcznie otworzyć plik w Notepad ++. A odpowiedź użytkownika notepadpp studend jest nie na temat AFAICT.
ctusch
1

Najlepszym sposobem jest ustawienie Notepad ++ na działanie jako administrator. Problem polega na tym, że łamie opcję Kliknij prawym przyciskiem. Zrobiłem więc zamianę na opcję prawego kliknięcia, która usuwa poprzednią. Miłą częścią mojej poprawki jest dodanie jej do ustawienia Directory w Rejestrze. Teraz możesz kliknąć folder prawym przyciskiem myszy i wybrać opcję Edytuj za pomocą Notepad ++, a otworzy on wszystkie pliki w Notepad ++ :). Dużo programuję w VBScript. Ułatwia mi to edycję wszystkich moich plików i wprowadzanie globalnych zmian, kiedy wymyślam nową metodę zrobienia czegoś lub zmiany obiektu.

Mój VBScript tworzy kopię zapasową kluczy rejestru, zanim je zmieni. Nie ustawia Notepad ++ jako administratora, więc musisz to zrobić, klikając prawym przyciskiem myszy plik wykonywalny Notepad ++ i zmieniając go tak, aby działał jako administrator. Zaczynam szukać, jak sprawić, by działał jako administrator. Kiedy to wymyślę, zmodyfikuję mój post, aby umożliwić Ci edycję jako Administrator lub normalną edycję.

'==========================================================================================
' 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
źródło
0

Innym rozwiązaniem jest otwarcie „Menu Start”, poszukiwanie aplikacji Notatnik i kliknięcie jej prawym przyciskiem myszy. Następnie kliknij „Uruchom jako administrator”.

Teraz możesz przeglądać system plików (poprzez „Notatnik / Plik / Otwórz ...”) w poszukiwaniu pliku, który chcesz edytować.

Jérôme
źródło
0

tylko prosta i skuteczna metoda:

  1. utwórz skrót na pulpicie (c: \ program files \ notepad ++ \ notpad ++. exe -> prawy przycisk myszy -> sendto -> pulpit)
  2. utwórz kopię tego skrótu i ​​dodaj _ADMIN do skrótu
  3. kliknij prawym przyciskiem myszy skrót _ADMIN - właściwości - skrót - przycisk zaawansowany - zaznacz „uruchom jako administrator”
  4. otwórz eksplorator plików i wpisz „shell: sendto”
  5. przeciągnij i upuść oba skróty do otwartego folderu

teraz masz zarówno notatnik ++, jak i notatnik ++ _ ADMIN na liście „SendTo” dla dowolnego pliku.

Menu kontekstowe powłoki

Bernhard
źródło