Як відкрити файл для редагування в режимі адміністратора?


49

У мене встановлені файли .config для відкриття в Блокноті ++. Файли, які я редагую, зазвичай знаходяться в захищених місцях (наприклад, c: \ windows \, ​​c: \ програмні файли ... і т. Д.), Тому потрібен доступ адміністратора.

Я хотів би мати можливість двічі клацнути файл .config і відкрити Блокнот ++ з правами адміністратора. Добре, якщо з’явиться підказка UAC.

Чи є спосіб це зробити?

Відповіді:


53

Найкращий спосіб - перейти безпосередньо до папки, в якій встановлено Блокнот ++ (Файли програм для 32-бітових Windows та Програмних файлів (x86) для 64-бітної Windows), там знайдіть виконуваний Блокнот ++, клацніть правою кнопкою миші та виберіть Сумісність і внизу встановіть прапорець Запустити як адміністратор.

Це дозволить вашій програмі завжди з’являтися з попередженням UAC, але ви завжди зможете редагувати як адміністратор.

Удачі!

EDIT: Знайдено цю статтю, яка дозволяє створити ярлик без запуску підказки UAC. Це технічно для Windows 10, але він повинен працювати так само, як і в Win7 +.


2
Ми можемо покращити це, зробивши копію EXE-файлу Notepad ++ та встановивши лише копію для запуску як адміністратор. Таким чином, звичайний блокнот ++ не підкаже кожного разу.
Joel Coehoorn

8
@JoelCoehoorn Це можна зробити за допомогою ярлика замість повної копії EXE (перейдіть до Advanced...кнопки на Shortcutвкладці вікна властивостей ярлика, щоб увімкнути це). Таким чином, якщо ви оновите блокнот ++, він оновить і ваш не підвищений, і ваш підвищені ярлики.
Скотт Чемберлен

і, як superuser.com/a/1462628/193963, помістити обидва ярлики до меню оболонки оболонки
Bernhard

19

Я виявив, що пошук програми редактора (наприклад, Блокнот ++) у меню "Пуск", а потім введення Ctrl+ Shift+ Enterдозволяє запускати програму як адміністратор.

Тоді ви зможете відкривати та редагувати файл, який потребує підвищених привілеїв.


3
Це насправді не є відповіддю на це питання, оскільки він запитує, як відкрити файл для редагування з підвищеними привілеями.
Der Hochstapler

Ви праві, ви відкриваєте файл із редактора таким чином, а не подвійним клацанням.
elolos

12

Як покращення щодо відповіді @ Аскелі , ви можете спочатку зробити копію виконуваного блокнота ++ (Назвіть це щось на зразок NotepadUAC). Потім встановіть режим сумісності у властивостях вашої копії, щоб вимагати режиму адміністратора, як запропонував Askeli. Тепер ви також можете встановити, щоб ваші .config файли відкривалися за допомогою копії, а не оригіналу.

Перевагою тут є те, що під час відкриття файлів з оригінальним (за замовчуванням) файлом Notepad ++ .exe ви не побачите підказку UAC. Недоліком є ​​те, що ця копія не обов'язково буде постійно оновлюватись так само, як оригінал, і в кінцевому підсумку може спричинити проблеми з невідповідними версіями .dll або конфігурації. Але завжди досить просто видалити / перевстановити, якщо це станеться.


@ пропозиція akseli працює, проте я все ще бачу підказку UAC. У будь-якому випадку я можу з цим жити.
AngryHacker

10

Моїм рішенням було закріпити Notepad ++ на панелі завдань. Коли мені це потрібно для редагування системних файлів, клацніть правою кнопкою миші на ньому, натисніть «Блокнот ++» та натисніть «Запустити як адміністратор».

Інші рішення, що змінюють ярлик або роблять його копії, добре, якщо ви постійно редагуєте системні файли. Я використовую Notepad ++ щодня, але я не воюю із захищеними файлами щодня.


6

Це було недоступне, коли оригінальне запитання було розміщено в 2010 році, але станом на 2012 рік - найкраща відповідь (принаймні, наскільки я вважаю):

Встановіть nppSaveAsAdmin:

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

Цей плагін дозволяє зберегти будь-який файл як адміністратор. Просто натисніть «Зберегти» в «Блокноті ++», і якщо вам заборонено змінювати цей файл як користувача, Notepad ++ збереже його як адміністратор. Підтримуються Windows XP, Windows Vista, Windows 7, Windows 8.

Плагін "Зберегти як адміністратор" доступний для швидкого та простого встановлення через Менеджер плагінів Notepad ++. (Плагіни / Менеджер плагінів / Показати Менеджер плагінів / Доступний. Поставте прапорець "Зберегти як адміністратор", натисніть "Встановити".)

Блокнот ++ продовжуватиме працювати, як зазвичай, і не потрібно запускати повноцінні адміністративні маркери UAC. Однак якщо Notepad ++ побачить, що ви намагаєтеся зберегти файл, до якого в іншому випадку не маєте доступу, він переправиться на NppAdminAccess.exe (відображаючи запит UAC). Просто натисніть «Так», і ваш файл буде збережено з правами адміністратора.


2
  1. Зробіть копію .exe свого текстового редактора в тій же папці програмних файлів і додайте до нього ім'я "Admin" або подібне.
  2. Клацніть правою кнопкою миші новий exe -> Властивості -> Сумісність -> Рівень привілеїв -> Поставте прапорець "Запустити цю програму як адміністратор"
  3. Створіть ярлик до цього файлу на робочому столі / панелі завдань / меню "Пуск"
  4. Перетягніть файл txt, який ви хочете відредагувати як адміністратор (або ярлик до одного), до цього ярлика

Це найпростіший / найскладніший спосіб, який я знайшов це зробити, коли мені потрібно редагувати файл хостів для веб-розробки. Звичайно, якщо ви просто хочете відкрити всі файли одного розширення як адміністратора, за пропозицією Джоела, ви можете просто скористатися "відкрити за допомогою ..." -> "Вибрати програму за замовчуванням" на створеній вами копії.


1

Видаліть плагіни (крім менеджера плагінів). Це вирішило для мене проблему. Ви можете встановити один плагін одночасно, щоб побачити, який плагін (и) викликає проблеми.


1

Наведене нижче рішення насправді не передбачає сценарій подвійного клацання, але дає можливість вибору (а технічно це також два кліки):

Ви можете додати пункт меню «Запустити як адміністратор» у контекстне меню оболонки на основі типу файлу (а точніше, за програмою). Дивіться цю статтю для детальної інформації про налаштування реєстру.


1
@Ramhound Ви хочете перевірити пов'язану статтю та переглянути свій новий запис? Або ж вкажіть, на яку відповідь ви звертаєтесь? Відповідь akseli завжди викликає UAC. Відповідь Джоела Куегорна потребувала копії файлу .exe (який, як він згадував, не оновлюється автоматично). Також він завжди буде запускати UAC для конкретного типу файлу. Відповідь Марлона просто запускає програму як адміністратор, вам все одно потрібно відкрити файл вручну в Notepad ++. А відповідь користувача блокнота studend - це поза темою AFAICT.
ctusch

1

Найкращий спосіб - встановити Notepad ++ для запуску адміністратора. Проблема в тому, що вона порушує опцію правої кнопки миші. Тому я зробив заміну на опцію правого клацання, яка видаляє стару. Приємною частиною мого виправлення є те, що я додав його до параметра Каталог у Реєстрі. Тепер ви можете клацнути правою кнопкою миші на папці та вибрати Правка за допомогою блокнота ++, і вона відкриє всі файли в Блокноті ++ :). Я дуже багато програмування VBScript. Це полегшує мені редагування всіх моїх файлів, вносячи глобальні зміни, коли я придумав новий метод зробити щось або змінити об'єкт.

Мій VBScript створює резервну копію ключів реєстру, перш ніж їх змінити. Він не встановлює Notepad ++ як адміністратора, тому ви повинні це зробити, клацнувши правою кнопкою миші на виконуваний файл Notepad ++ і змінивши його, щоб запустити його як адміністратор. Я починаю досліджувати, як зробити це запуск адміністратором. Коли я придумаю це, я відредагую свою публікацію, щоб вона дала можливість редагувати як адміністратор або нормально редагувати.

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


0

Ще одне рішення - відкрити "Меню Пуск", знайти додаток "Блокнот" і клацнути правою кнопкою миші на ньому. Потім натисніть «Запустити як адміністратор».

Тепер ви можете переглядати файлову систему (через "Блокнот / Файл / Відкрити ...") для файлу, який ви бажаєте редагувати.


0

просто простий та ефективний метод:

  1. створити ярлик на робочому столі (c: \ програмні файли \ notepad ++ \ notpad ++. exe -> клацніть правою кнопкою миші -> sendto -> робочий стіл)
  2. створити копію цього ярлика та додати _ADMIN до ярлика
  3. клацніть правою кнопкою миші ярлик _ADMIN - властивості - ярлик - кнопка розширена - позначте "запустити як адміністратор"
  4. відкрийте провідник файлів і введіть "shell: sendto"
  5. перетягніть обидві ярлики до відкритої папки

тепер у вашому списку "SendTo" для будь-якого файлу є як блокнот ++, так і блокнот ++ _ ADMIN.

Контекстне меню оболонки

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.