Làm cách nào để mở tệp để chỉnh sửa trong chế độ Quản trị viên?


49

Tôi có tệp .config được đặt để mở trong Notepad ++. Các tệp tôi chỉnh sửa thường ở các vị trí được bảo vệ (ví dụ: c: \ windows \, ​​c: \ chương trình tệp, v.v.) do đó yêu cầu quyền truy cập của quản trị viên.

Tôi muốn có thể nhấp đúp vào tệp .config và mở Notepad ++ với các đặc quyền của Quản trị viên. Sẽ tốt thôi nếu lời nhắc UAC xuất hiện.

Có cách nào làm được việc này không?

Câu trả lời:


53

Cách tốt nhất là vào thẳng thư mục cài đặt Notepad ++ (Tệp chương trình cho Windows 32 bit và Tệp chương trình (x86) cho Windows 64 bit), ở đó, tìm tệp thực thi Notepad ++, nhấp chuột phải vào nó và chọn Khả năng tương thích và ở dưới cùng chọn hộp cho Chạy với tư cách quản trị viên.

Điều này S make làm cho ứng dụng của bạn luôn bật lên với cảnh báo UAC, nhưng bạn sẽ luôn có khả năng chỉnh sửa với tư cách quản trị viên.

Chúc may mắn!

EDIT: Tìm thấy bài viết này cho phép bạn tạo lối tắt mà không cần khởi chạy dấu nhắc UAC. Về mặt kỹ thuật, nó dành cho Windows 10, nhưng sẽ hoạt động tương tự trên Win7 +.


2
Chúng tôi có thể cải thiện điều này bằng cách tạo một bản sao của tệp exe Notepad ++ và chỉ đặt bản sao để chạy với tư cách quản trị viên. Bằng cách này, notepad ++ thông thường sẽ không nhắc bạn mọi lúc.
Joel Coehoorn

8
@JoelCoehoorn Điều đó có thể được thực hiện thông qua một phím tắt thay vì một bản sao đầy đủ của exe (đi tới Advanced...nút trên Shortcuttab của cửa sổ thuộc tính của phím tắt để bật nó), theo cách đó nếu bạn cập nhật notepad ++ thì nó sẽ cập nhật cả không nâng cao và phím tắt nâng cao.
Scott Chamberlain

và như superuser.com/a/1462628/193963 đặt cả hai phím tắt vào menu sendto shell
Bernhard

19

Tôi đã thấy rằng tìm kiếm chương trình soạn thảo (ví dụ Notepad ++) trong menu Bắt đầu và sau đó nhập Ctrl+ Shift+ Entercho phép bạn chạy chương trình với tư cách quản trị viên.

Sau đó, bạn sẽ có thể mở và chỉnh sửa tệp yêu cầu nâng cao quyền riêng tư.


3
Đó thực sự không phải là một câu trả lời cho câu hỏi, vì nó hỏi làm thế nào để mở một tệp để chỉnh sửa với các đặc quyền nâng cao.
Der Hochstapler

Bạn nói đúng, bạn mở tệp từ bên trong trình chỉnh sửa theo cách này chứ không phải bằng cách nhấp đúp.
elolos

12

Để cải thiện câu trả lời của @ Askeli , trước tiên bạn có thể tạo một bản sao của notepad ++ có thể thực hiện được (Đặt tên nó giống như NotepadUAC). Sau đó, đặt chế độ tương thích trong các thuộc tính của bản sao của bạn để yêu cầu chế độ quản trị viên theo đề xuất của Askeli. Bây giờ bạn cũng có thể đặt các tệp .config của mình để mở bằng cách sử dụng bản sao thay vì bản gốc.

Ưu điểm ở đây là bạn sẽ không thấy dấu nhắc UAC khi mở tệp bằng tệp Notepad ++ .exe gốc (mặc định). Nhược điểm là bản sao này không nhất thiết phải tự cập nhật giống như bản gốc và cuối cùng có thể gây ra sự cố với các phiên bản dll hoặc config không khớp. Nhưng nó luôn đủ dễ dàng để gỡ cài đặt / cài đặt lại nếu điều đó xảy ra.


Tuy nhiên, đề xuất của @ akseli hoạt động, tuy nhiên, tôi vẫn thấy lời nhắc UAC. Dù sao, tôi có thể sống với nó.
AngryHacker

10

Giải pháp của tôi là ghim Notepad ++ vào thanh tác vụ. Khi tôi cần nó để chỉnh sửa tập tin hệ thống, tôi nhấp chuột phải vào nó, nhấp vào "Notepad ++" và nhấp vào "Chạy với tư cách quản trị viên".

Các giải pháp khác sửa đổi lối tắt hoặc tạo các bản sao của nó đều ổn nếu bạn luôn chỉnh sửa các tệp hệ thống. Tôi sử dụng Notepad ++ hàng ngày nhưng tôi không gây rối với các tệp được bảo vệ mỗi ngày.


6

Điều này không có sẵn khi câu hỏi ban đầu được đăng vào năm 2010, nhưng vào năm 2012 - câu trả lời hay nhất (ít nhất là theo tôi nghĩ):

Cài đặt nppSaveAsAdmin:

Từ http://sourceforge.net/projects/nppsaveasadmin :

Plugin này cho phép bạn lưu bất kỳ tập tin nào với tư cách quản trị viên. Chỉ cần nhấn "Lưu" trong Notepad ++ và nếu bạn không được phép thay đổi tệp này với tư cách người dùng, Notepad ++ sẽ lưu tệp đó với tư cách quản trị viên. Windows XP, Windows Vista, Windows 7, Windows 8 được hỗ trợ.

Plugin "Save as admin" có sẵn để cài đặt nhanh chóng và dễ dàng từ Trình quản lý plugin Notepad ++. (Plugins / Trình quản lý plugin / Hiển thị Trình quản lý plugin / Có sẵn. Kiểm tra "Lưu với tư cách quản trị viên", nhấp vào "Cài đặt".)

Notepad ++ sẽ tiếp tục chạy như bình thường và không cần phải chạy với mã thông báo UAC quản trị đầy đủ. Tuy nhiên, nếu Notepad ++ thấy rằng bạn đang cố lưu một tệp mà bạn không được phép truy cập, thì nó sẽ chuyển sang NppAdminAccess.exe (hiển thị lời nhắc UAC). Chỉ cần nhấp vào "Có" và tệp của bạn sẽ được lưu với các đặc quyền quản trị.


2
  1. Tạo một bản sao .exe của trình soạn thảo văn bản của bạn vào cùng thư mục tệp chương trình và nối thêm "Quản trị viên" hoặc tương tự với tên.
  2. Nhấp chuột phải vào exe mới -> Thuộc tính -> Tương thích -> Cấp đặc quyền -> Kiểm tra "Chạy chương trình này với tư cách quản trị viên"
  3. Tạo một lối tắt đến exe này trên màn hình / thanh tác vụ / menu bắt đầu của bạn
  4. Kéo tệp txt bạn muốn chỉnh sửa làm Quản trị viên (hoặc phím tắt thành một) vào phím tắt này

Là cách dễ nhất / linh hoạt nhất mà tôi đã tìm thấy để làm điều này khi tôi phải chỉnh sửa tệp máy chủ để phát triển web. Tất nhiên, nếu bạn chỉ muốn mở tất cả các tệp của một tiện ích mở rộng với tư cách quản trị viên, theo đề xuất của Joel, bạn chỉ có thể sử dụng "mở bằng ..." -> "Chọn chương trình mặc định" trên bản sao bạn đã tạo.


1

Gỡ cài đặt các plugin (trừ trình quản lý plugin). Điều này đã khắc phục vấn đề cho tôi. Bạn có thể cài đặt một plugin tại một thời điểm để xem (các) plugin nào gây ra sự cố.


1

Giải pháp sau đây không thực sự cho phép kịch bản nhấp đúp nhưng nó mang lại cho bạn sức mạnh của sự lựa chọn (và về mặt kỹ thuật cũng là hai lần nhấp):

Bạn có thể thêm một mục menu 'Chạy với tư cách quản trị viên' vào menu ngữ cảnh shell trên cơ sở từng loại tệp (hay đúng hơn là trên mỗi chương trình). Xem bài viết này để biết chi tiết về các tinh chỉnh đăng ký.


1
@Ramhound Bạn có vui lòng kiểm tra bài viết được liên kết và suy nghĩ lại về downvote của bạn không? Hoặc thay vào đó chỉ ra câu trả lời mà bạn đang đề cập đến? Câu trả lời của akseli sẽ luôn kích hoạt UAC. Câu trả lời của Joel Coehoorn cần một bản sao của tệp .exe (sẽ không được cập nhật tự động, như anh ấy đã đề cập). Ngoài ra, nó cũng sẽ luôn kích hoạt UAC cho loại tệp cụ thể. Câu trả lời của Marlon chỉ bắt đầu chương trình với tư cách quản trị viên, bạn vẫn cần mở tệp theo cách thủ công trong Notepad ++. Và câu trả lời của notepadpp studend là ngoài chủ đề AFAICT.
ctusch

1

Cách tốt nhất là đặt Notepad ++ để chạy với tư cách quản trị viên. Vấn đề với nó là nó phá vỡ tùy chọn Nhấp chuột phải. Vì vậy, tôi đã thực hiện một thay thế cho tùy chọn nhấp chuột phải loại bỏ cái cũ. Phần tốt nhất của sửa lỗi của tôi là tôi đã thêm nó vào cài đặt Thư mục trong Sổ đăng ký. Vì vậy, bây giờ bạn có thể nhấp chuột phải vào một thư mục và chọn Chỉnh sửa bằng Notepad ++ và nó sẽ mở tất cả các tệp trong Notepad ++ :). Tôi làm rất nhiều chương trình VBScript. Điều đó giúp tôi dễ dàng chỉnh sửa tất cả các tệp của mình thực hiện thay đổi toàn cầu khi tôi đưa ra một phương pháp mới để làm một cái gì đó hoặc thay đổi một đối tượng.

VBScript của tôi sao lưu các khóa registry trước khi nó thay đổi chúng. Nó không đặt Notepad ++ làm quản trị viên, do đó bạn phải thực hiện điều đó bằng cách nhấp chuột phải vào tệp thực thi Notepad ++ và thay đổi nó để chạy với tư cách quản trị viên. Tôi đang bắt đầu nghiên cứu về cách biến điều này thành Quản trị viên. Khi tôi nghĩ ra điều đó tôi sẽ chỉnh sửa bài đăng của mình để nó cung cấp cho bạn tùy chọn chỉnh sửa với tư cách Quản trị viên hoặc chỉnh sửa bình thường.

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

Một giải pháp khác là mở "Menu bắt đầu", tìm kiếm ứng dụng Notepad và nhấp chuột phải vào nó. Sau đó bấm vào "Chạy với tư cách quản trị viên".

Bây giờ bạn có thể duyệt hệ thống tệp (thông qua "Notepad / Tệp / Mở ...") cho tệp bạn muốn chỉnh sửa.


0

chỉ là một phương pháp đơn giản và hiệu quả:

  1. tạo lối tắt trên màn hình nền (c: \ chương trình tập tin \ notepad ++ \ notpad ++. exe -> nhấp chuột phải -> sendto -> máy tính để bàn)
  2. tạo một bản sao của phím tắt đó và thêm _ADMIN vào phím tắt
  3. nhấp chuột phải vào phím tắt _ADMIN - thuộc tính - phím tắt - nút nâng cao - đánh dấu "chạy với tư cách quản trị viên"
  4. mở một trình thám hiểm tệp và gõ "shell: sendto"
  5. kéo và thả cả hai phím tắt vào thư mục đã mở

bây giờ bạn có cả notepad ++ và notepad ++ _ ADMIN trong danh sách "SendTo" của bạn cho bất kỳ tệp nào.

Shell bối cảnh

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.