Bagaimana cara membuka file untuk diedit dalam mode Administrator?

49

Saya memiliki file .config yang diatur untuk dibuka di Notepad ++. File yang saya edit biasanya di lokasi yang dilindungi (misalnya c: \ windows \, ​​c: \ file program ..., dll.) Sehingga memerlukan akses administrator.

Saya ingin dapat menggandakan klik pada file .config dan membuat Notepad ++ terbuka dengan hak istimewa Administrator. Tidak apa-apa jika prompt UAC muncul.

Apakah ada cara untuk melakukan itu?

AngryHacker
sumber

Jawaban:

53

Cara terbaik adalah langsung ke folder tempat Notepad ++ diinstal (Program Files for Windows 32 bit dan Program Files (x86) untuk Windows 64 bit), di sana, temukan Notepad ++ executable, klik kanan padanya, dan pilih Kompatibilitas, dan di bagian bawah centang kotak untuk Jalankan sebagai administrator.

Ini AKAN membuat aplikasi Anda selalu muncul dengan peringatan UAC, tetapi Anda akan selalu memiliki kemampuan untuk mengedit sebagai administrator.

Semoga berhasil!

EDIT: Temukan artikel ini yang memungkinkan Anda membuat pintasan tanpa meluncurkan prompt UAC. Secara teknis untuk Windows 10, tetapi harus bekerja dengan cara yang sama pada Win7 +.

akseli
sumber
2
Kita dapat memperbaiki ini dengan membuat salinan file exe Notepad ++, dan mengatur hanya salinan untuk dijalankan sebagai administrator. Dengan cara ini, notepad ++ biasa tidak akan meminta Anda setiap saat.
Joel Coehoorn
8
@ JoelCoehoorn Itu bisa dilakukan melalui jalan pintas alih-alih salinan penuh dari exe (buka Advanced...tombol pada Shortcuttab jendela properti pintasan untuk mengaktifkannya), dengan cara itu jika Anda memperbarui notepad ++ itu akan memperbarui non-elevasi dan Anda pintasan yang ditinggikan.
Scott Chamberlain
dan seperti superuser.com/a/1462628/193963 menempatkan kedua pintasan ke menu sendto shell
Bernhard
19

Saya telah menemukan bahwa mencari program editor (mis. Notepad ++) di menu Start dan kemudian mengetik Ctrl+ Shift+ Entermemungkinkan Anda menjalankan program sebagai administrator.

Anda kemudian dapat membuka dan mengedit file yang memerlukan hak istimewa tinggi.

Elolos
sumber
3
Namun itu bukan jawaban untuk pertanyaan, karena ia menanyakan cara membuka file untuk diedit dengan hak istimewa yang ditingkatkan.
Der Hochstapler
Anda benar, Anda membuka file dari dalam editor dengan cara ini dan bukan dengan mengklik dua kali.
Elolos
12

Sebagai peningkatan atas jawaban @ Askeli , pertama-tama Anda dapat membuat salinan notepad ++ yang dapat dieksekusi (Beri nama sesuatu seperti NotepadUAC). Kemudian atur mode kompatibilitas di properti salinan Anda untuk memerlukan mode administrator seperti yang disarankan oleh Askeli. Sekarang Anda juga harus dapat mengatur file .config Anda untuk dibuka menggunakan salinan daripada yang asli.

Keuntungannya di sini adalah Anda tidak akan melihat prompt UAC saat membuka file dengan file Notepad ++ .exe yang asli (default). Kerugiannya adalah bahwa salinan ini tidak harus selalu memperbarui dengan cara yang sama seperti aslinya, dan pada akhirnya dapat menyebabkan masalah dengan versi .dll atau konfigurasi yang tidak cocok. Tetapi selalu cukup mudah untuk menghapus / menginstal ulang jika itu terjadi.

Joel Coehoorn
sumber
Saran @ akseli bekerja, namun, saya masih melihat prompt UAC. Bagaimanapun, saya bisa hidup dengannya.
AngryHacker
10

Solusi saya adalah menyematkan Notepad ++ ke bilah tugas. Ketika saya membutuhkannya untuk mengedit file sistem saya klik kanan padanya, klik "Notepad ++", dan klik "Run as administrator".

Solusi lain yang memodifikasi pintasan atau membuat salinannya tidak masalah jika Anda mengedit file sistem sepanjang waktu. Saya menggunakan Notepad ++ setiap hari tetapi saya tidak mengacaukan file yang dilindungi setiap hari.

Marlon
sumber
6

Ini tidak tersedia ketika pertanyaan asli diposting pada 2010, tetapi pada 2012 - jawaban terbaik (setidaknya menurut saya):

Instal nppSaveAsAdmin:

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

Plugin ini memungkinkan Anda untuk menyimpan file apa pun sebagai administrator. Cukup tekan "Simpan" di Notepad ++ dan jika Anda tidak diizinkan untuk mengubah file ini sebagai pengguna, Notepad ++ akan menyimpannya sebagai administrator. Windows XP, Windows Vista, Windows 7, Windows 8 didukung.

Plugin "Save as admin" tersedia untuk instalasi yang cepat dan mudah dari Notepad ++ Plugin Manager. (Pengaya / Pengaya Plugin / Tampilkan Pengaya Pengaya / Tersedia. Periksa "Simpan sebagai admin", klik "Instal".)

Notepad ++ akan terus berjalan seperti biasa, dan tanpa perlu dijalankan dengan token UAC administratif penuh. Namun, jika Notepad ++ melihat bahwa Anda mencoba untuk menyimpan file yang Anda tidak boleh mengaksesnya, itu akan bercabang ke NppAdminAccess.exe (menampilkan prompt UAC). Cukup klik "Ya", dan file Anda akan disimpan dengan hak administratif.

ziesemer
sumber
2
  1. Buat salinan .exe dari editor teks Anda ke folder file program yang sama dan tambahkan "Admin" atau mirip dengan namanya.
  2. Klik kanan exe baru -> Properti -> Kompatibilitas -> Tingkat Hak Istimewa -> Centang "Jalankan program ini sebagai administrator"
  3. Buat pintasan ke exe ini di desktop / task bar / start menu Anda
  4. Seret file txt yang ingin Anda edit sebagai Administrator (atau pintasan ke satu) ke pintasan ini

Adalah cara termudah / paling fleksibel yang saya temukan untuk melakukan ini ketika saya harus mengedit file host untuk pengembangan web. Tentu saja jika Anda hanya ingin membuka semua file dari satu ekstensi sebagai admin, sesuai saran Joel, Anda dapat menggunakan "buka dengan ..." -> "Pilih program default" pada salinan yang Anda buat.

Brad
sumber
1

Copot pemasangan plugin (kecuali pengelola plugin). Ini memperbaiki masalah bagi saya. Anda dapat menginstal satu plugin pada saat yang sama untuk melihat plugin mana yang menyebabkan masalah.

pengguna mahasiswa notepadpp
sumber
1

Solusi berikut ini tidak benar-benar memungkinkan untuk skenario klik ganda tetapi memberi Anda kekuatan pilihan (dan secara teknis itu juga dua klik):

Anda dapat menambahkan item menu 'Jalankan sebagai administrator' ke menu konteks shell pada basis per jenis file (atau lebih tepatnya per program). Lihat artikel ini untuk detail tentang tweak registri.

ctusch
sumber
1
@Ramhound Maukah Anda memeriksa artikel yang ditautkan dan memikirkan kembali downvote Anda? Atau secara alternatif tunjukkan jawaban mana yang Anda maksud? Jawaban akseli akan selalu memicu UAC. Jawaban Joel Coehoorn membutuhkan salinan file .exe (yang tidak akan diperbarui secara otomatis, seperti yang ia sebutkan). Selain itu juga akan selalu memicu UAC untuk jenis file tertentu. Jawaban Marlon baru saja memulai program sebagai admin, Anda masih perlu membuka file secara manual di Notepad ++. Dan jawaban pengguna notepadpp studend adalah di luar topik AFAICT.
ctusch
1

Cara terbaik adalah mengatur Notepad ++ agar dijalankan sebagai administrator. Masalahnya adalah ia merusak opsi Klik Kanan. Jadi saya membuat penggantian ke opsi klik kanan yang menghapus yang lama. Bagian yang bagus dari perbaikan saya adalah saya menambahkannya ke pengaturan Direktori di Registry. Jadi sekarang Anda dapat mengklik kanan pada folder dan memilih Edit dengan Notepad ++ dan itu akan membuka semua file di Notepad ++ :). Saya melakukan banyak pemrograman VBScript. Itu memudahkan saya untuk mengedit semua file saya membuat perubahan global ketika saya datang dengan metode baru dalam melakukan sesuatu atau mengubah suatu objek.

VBScript saya mencadangkan kunci registri sebelum mengubahnya. Itu tidak mengatur Notepad ++ sebagai administrator sehingga Anda harus melakukannya dengan mengklik kanan pada Notepad ++ yang dapat dieksekusi dan mengubahnya untuk dijalankan sebagai administrator. Saya mulai meneliti bagaimana membuat ini sebagai Run sebagai Administrator. Ketika saya datang dengan itu saya akan mengedit posting saya sehingga memberi Anda pilihan untuk mengedit sebagai Admin atau mengedit secara normal.

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

Solusi lain adalah membuka "Start Menu", mencari aplikasi Notepad dan klik kanan. Kemudian klik "Run as Administrator".

Anda sekarang dapat menjelajahi sistem file (melalui "Notepad / File / Open ...") untuk file yang ingin Anda edit.

Jérôme
sumber
0

hanya metode sederhana dan efektif:

  1. buat pintasan di desktop (c: \ program files \ notepad ++ \ notpad ++. exe -> klik kanan -> sendto -> desktop)
  2. buat salinan pintasan itu dan tambahkan _ADMIN ke pintasan
  3. klik kanan shortcut _ADMIN - properties - shortcut - button advanced - centang "run as administrator"
  4. buka file explorer dan ketik "shell: sendto"
  5. seret dan letakkan kedua pintasan ke folder yang dibuka

sekarang Anda memiliki notepad ++ dan notepad ++ _ ADMIN di daftar "SendTo" Anda untuk file apa pun.

Menu konteks Shell

Bernhard
sumber