Tambahkan opsi 'Buka Powershell di sini sebagai admin' ke menu konteks folder

15

Saya telah mencari cara untuk membuka prompt Powershell yang ditinggikan dari Windows Explorer secara langsung, melalui menu konteks folder yang ingin saya buka promptnya.
Saya menggunakan Windows 10 dan semua contoh yang saya lihat sejauh ini telah telah untuk versi Windows yang lebih lama. Saya sebelumnya memiliki ini berfungsi pada Windows 8.1, tetapi pembaruan ke 10 memecahkannya. Saya bahkan dapat menjalankan ini pada Windows 10 secara singkat, tetapi pembaruan memecahnya lagi (Des 2015).

Adakah yang tahu cara yang benar untuk menambahkan fitur ini ke Windows? Atau apakah itu ditimpa oleh pembaruan Windows yang akan datang?

Astravagran
sumber

Jawaban:

20

Ini adalah satu-satunya cara saya tahu untuk saat ini menambahkan fitur ini ke menu konteks di Windows Explorer:

[Jalankan skrip ini dengan prompt powershell tinggi]

$menu = 'Open Windows PowerShell Here as Administrator'
$command = "$PSHOME\powershell.exe -NoExit -NoProfile -Command ""Set-Location '%V'"""

'directory', 'directory\background', 'drive' | ForEach-Object {
    New-Item -Path "Registry::HKEY_CLASSES_ROOT\$_\shell" -Name runas\command -Force |
    Set-ItemProperty -Name '(default)' -Value $command -PassThru |
    Set-ItemProperty -Path {$_.PSParentPath} -Name '(default)' -Value $menu -PassThru |
    Set-ItemProperty -Name HasLUAShield -Value ''
}

Script ini diambil dari tautan berikut:

http://www.powershellmagazine.com/2013/06/25/pstip-how-to-start-an-elevated-powershell-from-windows-explorer/

Saya 99% yakin bahwa ini adalah cara saya melakukannya sebelum tambalan Windows terbaru 'menghapus' pengaturan registri saya (itu juga menghapus beberapa penyesuaian lainnya, seperti status boot numlock, tetapi itu tidak terlalu mengganggu).

Jika ada yang tahu pendekatan yang lebih baik; yaitu itu tidak akan stabil, maka tolong beri tahu saya dan saya akan menerima jawaban itu.

Astravagran
sumber
1
Windows 10 tentu menyakitkan dengan UAC. Bahkan "cacat" itu adalah sakit kepala yang konstan ._. Satu-satunya alasan saya belum kembali ke Windows 7 adalah karena saya sekarang memiliki 4 layar.
Deadly-Bagel
4
Hapus -NoProfilesakelar untuk memuat profil Anda secara otomatis saat Anda membuka prompt.
Ian Kemp
Perhatikan bahwa jika Anda ingin menambahkan opsi menu konteks "Jalankan skrip sebagai admin" untuk file ps1 sendiri, bagian 2 dari jawaban ini menunjukkan caranya: stackoverflow.com/a/57033941/2441655
Venryx
1

Saya sudah melakukannya seperti ini. Itu adalah bagian dari menu kecil yang saya buat. Edit sesuai keinginan Anda:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\OAPS.Tools]
"ImpliedSelectionModel"=dword:00000001
"Icon"="imageres.dll,-5373"
"ExplorerCommandHandler"="{BF0AC53F-D51C-419F-92E3-2298E125F004}"
@="Admin Pshell Here"
pbanj
sumber
0

Berikut ini adalah salinan file reg yang saya gunakan untuk menambahkan CMD dan POWERSHELL ke menu konteks LATAR BELAKANG folder mana pun di Windows 10:

Windows Registry Editor Version 5.00

;Add_Open_CMD_and_Powershell_to_Context_Menu.reg

;Right-Click Background only

;CMD Prompt

[HKEY_CLASSES_ROOT\Directory\Background\shell\01MenuCmd] "MUIVerb"="Command Prompts" "Icon"="cmd.exe" "ExtendedSubCommandsKey"="Directory\Background\ContextMenus\MenuCmd"

[HKEY_CLASSES_ROOT\Directory\Background\shell\01MenuCmd] "MUIVerb"="Command Prompts" "Icon"="cmd.exe" "ExtendedSubCommandsKey"="Directory\Background\ContextMenus\MenuCmd"

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuCmd\shell\open] "MUIVerb"="Command Prompt" "Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuCmd\shell\open\command] @="cmd.exe /s /k pushd \"%V\""

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuCmd\shell\runas] "MUIVerb"="Command Prompt Elevated" "Icon"="cmd.exe" "HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuCmd\shell\runas\command] @="cmd.exe /s /k pushd \"%V\""

; PowerShell

[HKEY_CLASSES_ROOT\Directory\Background\shell\02MenuPowerShell] "MUIVerb"="PowerShell Prompts" "Icon"="powershell.exe" "ExtendedSubCommandsKey"="Directory\Background\ContextMenus\MenuPowerShell"

[HKEY_CLASSES_ROOT\Directory\Background\shell\02MenuPowerShell] "MUIVerb"="PowerShell Prompts" "Icon"="powershell.exe" "ExtendedSubCommandsKey"="Directory\Background\ContextMenus\MenuPowerShell"

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\shell\open] "MUIVerb"="PowerShell" "Icon"="powershell.exe"

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\shell\open\command] @="powershell.exe -noexit -command Set-Location '%V'"

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\shell\runas] "MUIVerb"="PowerShell Elevated" "Icon"="powershell.exe" "HasLUAShield"=""

[HKEY_CLASSES_ROOT\Directory\Background\ContextMenus\MenuPowerShell\shell\runas\command] @="powershell.exe -noexit -command Set-Location '%V'"

bobkush
sumber