Home > Windows にまつわる e.t.c.

エクスプローラーの右クリックで PowerShell プロンプトを開く


PowerShell プロンプトをエクスプローラーの右クリックと開けると便利ですよね。

管理権限で以下スクリプトを張り付けると、エクスプローラーの右クリックで PowerShell プロンプトが開けるようになります。(管理者として実行も出来ます)

 

New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT

# レジストリ更新
function SetReg( $RegPath, $RegKeyValue ){
    if( -not (Test-Path $RegPath) ){
        md $RegPath
    }
    Set-ItemProperty $RegPath -name "(default)" -Value $RegKeyValue
}


$RegPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
$RegKey = "ReleaseId"
[int]$WinVertion = (Get-ItemProperty $RegPath -name $RegKey).$RegKey

if( $WinVertion -lt 1607 ){   # RS1 以降のエラー回避

    # 通常 open menu
    $RegPath = "HKCR:\Directory\shell\PowerShell"
    $RegKeyValue = "Open PowerShell prompt (&P)"
    SetReg $RegPath $RegKeyValue

    # 通常 open command
    $RegPath = "HKCR:\Directory\shell\PowerShell\command"
    $RegKeyValue = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ExecutionPolicy RemoteSigned -Command `"Set-Location -LiteralPath '%L'`""
    SetReg $RegPath $RegKeyValue

    # 通常 ここで開く menu
    $RegPath = "HKCR:\Directory\Background\shell\PowerShell"
    $RegKeyValue = "Open PowerShell prompt here (&P)"
    SetReg $RegPath $RegKeyValue

    # 通常 ここで開く command
    $RegPath = "HKCR:\Directory\Background\shell\PowerShell\command"
    $RegKeyValue = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ExecutionPolicy RemoteSigned -Command `"Set-Location -LiteralPath '%V'`""
    SetReg $RegPath $RegKeyValue
}

# 管理実行 open menu
$RegPath = "HKCR:\Directory\shell\runas"
$RegKeyValue = "Open PowerShell prompt as Administrator (&A)"
SetReg $RegPath $RegKeyValue

# 管理実行 open command
$RegPath = "HKCR:\Directory\shell\runas\command"
$RegKeyValue = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ExecutionPolicy RemoteSigned -Command `"Set-Location -LiteralPath '%L'`""
SetReg $RegPath $RegKeyValue

# 管理実行 ここで開く menu
$RegPath = "HKCR:\Directory\Background\shell\runas"
$RegKeyValue = "Open PowerShell prompt here as Administrator (&A)"
SetReg $RegPath $RegKeyValue

# 管理実行 ここで開く command
$RegPath = "HKCR:\Directory\Background\shell\runas\command"
$RegKeyValue = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ExecutionPolicy RemoteSigned -Command `"Set-Location -LiteralPath '%V'`""
SetReg $RegPath $RegKeyValue

 

右クリックメニューに追加されていない場合は、一度 Shift + 右クリックでレジストリを再読み込みさせるか、一度 logoff すると反映されます。

 

関連情報

右クリックメニューの「PowerShell で実行」を拡張する
http://www.vwnet.jp/Windows/w10/2015121601/ExtendRightClickMenu.htm

 

 

back.gif (1980 バイト)

home.gif (1907 バイト)

Copyright © MURA All rights reserved.