Windows10文件目录下添加 Shift+右键打开管理员Powershell窗口

 

背景(可略过)

目前在调试 Python 程序,遇到了一个问题:当程序中包含多线程时,使用 IDLE 运行是不会执行多线程的语句的,在网上一顿搜罗了解到这种情况可以换成在命令行下执行。好像用 PyCharm 也可以,没有验证过。emmm,之前运行包含多线程的程序都是在 Linux 环境下(树莓派 Raspain、Ubuntu16.04、Ubuntu18.04)操作的,本身就是 dash 命令行。没想到 Windows 下还有这种问题。

命令行就命令行吧,所以我选择 Powershell。在我放程序的位置,直接 Shift+鼠标右键,右键菜单里在此处打开 Powershell 窗口(S),这样就省了再去各种 cd 了。OK,运行程序吧。然后,哼哼,要是能直接成功的话,这篇博客也就不会出现了。Python 告诉我权限不够,那没办法,只好又打开管理员 Powershell,然后,各种 cd,对于这种操作,我是拒绝的。所以开始想办法,在文件目录下(包括桌面)通过 Shift+右键打开管理员 Powershell。变成下图这种效果。

 

 

下面进入正题。

折腾向

这种方式比较折腾,适合喜欢捣鼓的同学,简单的方法可以直接往下看简单粗暴向

1 打开注册表编辑器

单击开始,输入 regedit ,进入注册表编辑器。如下图,我电脑系统是1809版本,所以又多出来了右边的框,可以右击注册表编辑器,固定到开始屏幕,方便下次使用。

 

 

2 进入编辑右键菜单的注册表分支

在路径下输入:HKEY_CLASSES_ROOT\Directory\Background\shell

进入相应分支。

 

 

3 新建注册表项

3.1 创建菜单

(1)右击 shell 项,新建一个名为 PowershellAdmin 的项。

 

 

 

(2)在 PowershellAdmin 项内:

  1. 新建字符串值,命名为 Extended,数值数据为空。

    功能:使右键选项在平时不显示,在按下 Shift时才会显示。
  2. 新建字符串值,命名为 MUIVerb,双击该项修改数值数据为:在此处打开管理员 Powershell 窗口(A)
    功能:UI 嘛,界面啊,所以它就是为了让菜单中显示的是“在此处打开管理员 Powershell 窗口(A)”,不添加的话,右击是这个样子滴。
                                                    

    显示的就是 PowershellAdmin 项的名称。
    PS:这里我本来是想在 (默认) 这个字符串值里直接 @shell32.dll 里面的字符串资源的,无奈没有找到相应的字符串(不一定没有哈),所以就用了这个方法。其实直接在 (默认) 里面写“在此处打开管理员 Powershell 窗口(A)”,这样也是可以的,不过我更喜欢前者。
  3. 新建字符串值,命名为 NoWorkingDirectory,数值数据为空。
    功能:emmm,我也不是很清楚,在网上查也查不到。“在此处打开 Powershell 窗口(S)”这条命令相关的注册表项里面有这个,我也就加上了,估计是和这个项相关的命令在哪可以生效执行有关系。
  4. 新建 DWORD(32位值)(D),命名为 ShowBasedOnVelocityId,数值数据为:基数十六进制(H)的 639bc8

 

OK,以上几部执行完毕后,右侧看起来应该是这个样子滴

 

 

3.2 为菜单创建操作命令

菜单界面是有了,但还没有与之匹配的命令,没有 command 命令的话,这个菜单只是一个空壳,点击它会提示没有找到可以执行的应用程序。就像下面这样。

接下来创建命令项。右击 PowershellAdmin 项,新建名为 command 的项。

在右侧 (默认) 字符串里填入如下命令:

powershell.exe -command Start-Process powershell -ArgumentList \"-noexit\",\"Set-Location -literalPath '%V'\" -Verb runAs

命令释义:

  powershell.exe -command Start-Process powershell

    这部分是让普通的 Powershell 再打开一个 Powershell 进程。

  -ArgumentList \"-noexit\",\"Set-Location -literalPath '%V'\"

    这部分是为新的 Powershell 进程指定了参数,-noexit,不退出窗口,Set-Location -literalPath '%V',定位到当前位置。

  -Verb runAs

    使用“以管理员身份运行”选项启动新的 PowerShell 进程。

如此,就。。。大功告成!!!以上步骤都完成后,就可以实现在当前位置打开管理员 Powershell 了。当然,不想折腾的话也可以使用下面这种方法。

简单粗暴向

这种方法比较简单粗暴,直接合并注册表就可以了。

新建一个文本文档,复制下面的代码,选择另存为,文件类型为所有文件,编码选择ANSI,文件名为PowershellAdmin.reg(文件名可以随便起,但是后缀名需要是.reg,表明它的文件类型是注册表项),然后双击 PowershellAdmin.reg 合并注册表,提示如下内容:

点击是,然后提示“已成功添加到注册表中”,欧克,搞定!!!

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\PowershellAdmin]
"Extended"=""
"NoWorkingDirectory"=""
"ShowBasedOnVelocityId"=dword:00639bc8
@=""
"MUIVerb"="在此处打开管理员 Powershell 窗口(A)"

[HKEY_CLASSES_ROOT\Directory\Background\shell\PowershellAdmin\command]
@="powershell.exe -command Start-Process powershell -ArgumentList \\\"-noexit\\\",\\\"Set-Location -literalPath '%V'\\\" -Verb runAs"

 

最终效果

Shift+右击菜单

 

 

点击效果

首先会弹出来一个普通的 Powershell 窗口来执行命令,这个窗口会自动退出

然后会弹出UAC用户账户控制窗口,点击确定后,会弹出管理员模式的 Powershell 窗口,并定位到当前路径

参考资料

Win10添加右键打开cmd和Powershell窗口(管理员/非管理员)

Microsoft.PowerShell.Management.Start-Process

转载于:https://www.cnblogs.com/PiPiSenLetsGo/p/10354808.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Microsoft Windows PowerShell 是一种新的命令行外壳和脚本语言,用于进行系统治理和自动化。Windows PowerShell 建立在 .NET Framework 的基础上,IT 专业人员可通过命令或脚本来治理计算机,从而通过系统自动化来提高工作效率。 Windows PowerShell 包括: * 129 个命令行工具(称为“cmdlet”),用于执行常见系统治理任务,如治理服务、进程、事件日志、证书、注册表以及使用 Windows Management Instrumentation (WMI)。 * 采用标准命名约定和通用参数的命令行工具,易于把握和使用;以及用于对数据和对象进行排序、筛选以及格式设置的简便工具。 * 对现有脚本语言、现有命令行工具以及多种 Windows 版本的支持,其中包括 Windows XP、Windows Server 2003、Windows Vista 以及 Windows Server(代码名称为“Longhorn”)。 * 方便的功能,使用户能够浏览数据存储(如注册表和证书存储),就像面对文件系统一样。 * 用于治理位于不同存储中以及采用不同格式的 Windows 数据的标准实用程序,这些数据包括 Active Directory (ADSI)、Windows Management Instrumentation (WMI)、组件对象模型 (COM) 对象、ActiveX 数据对象 (ADO)、HTML 和 XML。 * 在命令行进行的高级表达式分析和 .NET 对象处理,其中包括对对象进行流水线处理以帮助提高 IT 专业人员的工作效率。 * 可扩展的接口,使独立软件供给商和企业开发人员能够构建自定义 cmdlet 以满足特有的应用程序和系统治理要求。 安装本更新程序后,可能需要重新启动计算机。我们根据 Windows Vista 许可条款向您提供本更新程序并授予您使用许可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值