เพิ่มตัวเลือก 'เปิด Powershell ที่นี่เป็นผู้ดูแลระบบ' ไปยังเมนูบริบทของโฟลเดอร์


15

ฉันกำลังมองหาวิธีในการเปิดพรอมต์ Powershell จาก Windows Explorer โดยตรงผ่านเมนูบริบทของโฟลเดอร์ที่ฉันต้องการเปิดพรอมต์
ฉันใช้ Windows 10 และตัวอย่างทั้งหมดที่ฉันเคยเห็น ใช้สำหรับ Windows รุ่นเก่ากว่า ก่อนหน้านี้ฉันเคยใช้ Windows 8.1 มาก่อน แต่การอัปเดตเป็น 10 ทำให้มันพัง ฉันยังใช้งาน Windows 10 ได้ในเวลาสั้น ๆ แต่การอัปเดตก็ทำให้เสียหายอีกครั้ง (ธันวาคม 2015)

ไม่มีใครรู้วิธีที่ถูกต้องในการเพิ่มคุณสมบัตินี้ลงใน Windows หรือไม่ หรือเป็นอีกวาระที่จะถูกเขียนทับโดยการอัพเดท Windows ในอนาคตหรือไม่

คำตอบ:


20

นี่เป็นวิธีเดียวที่ฉันรู้ในการเพิ่มคุณสมบัตินี้ในเมนูบริบทใน Windows Explorer:

[เรียกใช้สคริปต์นี้ในพรอมต์ PowerShell พร้อมท์]

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

สคริปต์นี้นำมาจากลิงก์ต่อไปนี้:

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

ฉันมั่นใจ 99% ว่านี่เป็นวิธีที่ฉันทำก่อนที่จะมีการแก้ไขการตั้งค่ารีจิสตรีของ Windows ล่าสุด (ลบการตั้งค่ารีจิสตรีของฉันออกไป

หากใครรู้วิธีการที่ดีกว่า; นั่นคือจะไม่ผันผวนจากนั้นโปรดแจ้งให้เราทราบและฉันจะยอมรับคำตอบนั้น


1
Windows 10 เป็นปัญหากับ UAC อย่างแน่นอน แม้แต่ "ปิดการใช้งาน" ก็ยังปวดหัวอย่างต่อเนื่อง เหตุผลเดียวที่ฉันไม่ได้กลับไปใช้ Windows 7 ก็เพราะตอนนี้ฉันมีหน้าจอ 4 หน้า
Deadel-Bagel

4
ลบ-NoProfileสวิตช์เพื่อให้โปรไฟล์ของคุณโหลดโดยอัตโนมัติเมื่อคุณเปิดใช้งานพรอมต์
Ian Kemp

โปรดทราบว่าหากคุณต้องการเพิ่มตัวเลือกเมนูบริบท "เรียกใช้สคริปต์เป็นผู้ดูแลระบบ" สำหรับไฟล์ ps1 ด้วยตนเองส่วนที่ 2 ของคำตอบนี้จะแสดงวิธีการ: stackoverflow.com/a/57033941/2441655
Venryx

1

ฉันทำแบบนี้แล้ว มันเป็นส่วนหนึ่งของเมนูเล็ก ๆ ที่ฉันทำ แก้ไขตามที่คุณต้องการ:

[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

นี่คือสำเนาของไฟล์ reg ที่ฉันใช้เพื่อเพิ่มทั้ง CMD และ POWERSHELL ในเมนูบริบท BACKGROUND ของโฟลเดอร์ใด ๆ ใน 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'"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.