Thêm tùy chọn 'Mở Powershell tại đây dưới dạng quản trị viên' vào menu ngữ cảnh thư mục


15

Tôi đã tìm cách mở trực tiếp lời nhắc Powershell từ Windows Explorer, thông qua menu ngữ cảnh của thư mục tôi muốn mở lời nhắc.
Tôi đang sử dụng Windows 10 và tất cả các ví dụ tôi đã thấy cho đến nay dành cho các phiên bản Windows cũ hơn. Trước đây tôi đã làm việc này trên Windows 8.1, nhưng bản cập nhật lên 10 đã phá vỡ nó. Tôi thậm chí đã làm việc này nhanh chóng trên Windows 10, nhưng một bản cập nhật đã phá vỡ nó một lần nữa (tháng 12 năm 2015).

Có ai biết cách chính xác để thêm tính năng này vào Windows không? Hay là nó sẽ bị ghi đè bởi các bản cập nhật trong tương lai cho Windows?

Câu trả lời:


20

Đây là cách duy nhất tôi biết để thêm tính năng này vào các menu ngữ cảnh trong Windows Explorer:

[Chạy tập lệnh này trong dấu nhắc quyền hạn nâng cao]

$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 ''
}

Kịch bản này được lấy từ liên kết sau:

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

Tôi chắc chắn 99% rằng đây là cách tôi đã làm trước khi bản vá Windows mới nhất 'gỡ bỏ' cài đặt đăng ký của tôi (nó cũng xóa một số tùy chỉnh khác, như trạng thái khởi động numlock, nhưng điều đó ít gây khó chịu hơn).

Nếu ai biết cách tiếp cận tốt hơn; tức là sẽ không biến động, sau đó xin vui lòng cho tôi biết và tôi sẽ chấp nhận câu trả lời đó.


1
Windows 10 chắc chắn là một nỗi đau với UAC. Ngay cả "vô hiệu hóa" đó là một cơn đau đầu liên tục ._. Lý do duy nhất tôi chưa quay trở lại Windows 7 là vì hiện tại tôi có 4 màn hình.
Deadly-Bagel

4
Xóa công -NoProfiletắc để tải hồ sơ của bạn tự động khi bạn khởi chạy lời nhắc.
Ian Kemp

Lưu ý rằng nếu bạn muốn thêm tùy chọn trình đơn ngữ cảnh "Chạy tập lệnh với tư cách quản trị viên" cho chính các tệp ps1, phần 2 của câu trả lời này sẽ hiển thị như thế nào: stackoverflow.com/a/57033941/2441655
Venryx 15/07/19

1

Tôi đã làm nó như thế này. Nó là một phần của một menu nhỏ tôi đã thực hiện. Chỉnh sửa nó theo ý thích của bạn:

[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"

0

Dưới đây là bản sao của tệp reg mà tôi sử dụng để thêm cả CMD và POWERSHELL vào menu ngữ cảnh BACKGROUND của bất kỳ thư mục nào trong 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'"

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.