如何使用“ Shift +右键单击”以其他用户身份启动* .ps1文件?

时间:2019-01-03 18:52:57

标签: powershell elevated-privileges runas

我需要能够在PS1文件上使用“ Shift +右键单击”,然后选择“以其他用户身份运行”以像执行该用户一样执行脚本。我无法存储凭据,并且我不想使用“ Shift +右键单击”执行PowerShell,然后通过控制台导航到我的脚本。我该如何完成?我找不到任何不需要我启动单独窗口或存储凭据的东西。

1 个答案:

答案 0 :(得分:0)

右键单击或按住Shift键单击,以其他用户身份运行是Windows可执行文件的标准。右键单击运行方式由操作系统控制。

根据设计,您无法双击或右键单击.ps1文件并使其运行。 默认情况下,.ps1设置为启动记事本或您可能已将其分配给的其他文本编辑器,即VSCode,Notepad ++等。

.ps1,不是将通过双击运行的.bat,.cmd,.vbs。

如果要双击.ps1并运行它,则必须至少使用Windows资源管理器设置文件类型并将其分配给PowerShell.exe。 MS或任何人(BTW)都不建议这样做,但是可以做到。不建议这样做的原因全是关于风险/安全管理。

要做到这一点,您需要做的是使用所需的启动设置创建一个PowerShell快捷方式集。专门设置RunAs选项。 将该快捷方式固定到Windows SendTo菜单(在Windows资源管理器栏中,只需键入shell:SendTo即可打开该文件夹以放入该快捷方式),或者您需要编辑注册表以默认右键单击“使用PowerShell运行”选项,调整添加RunAs参数后。

Using a PowerShell script to run as a different user & elevate the process.

否则,您可能还要考虑该RunAS设置。

Drag and Drop to a Powershell script

话虽如此,但这仍然可能无法使您获得所需要的一切,但是它将使您与世隔绝。

针对问题的OP更新

  

您是否认为限制Powershell使用的组策略   而其他脚本语言对域管理员来说仅仅是足够了   安全控制还是您认为这也有问题?

最起码特权的负责人始终是可靠的做法,但是还有很多事情要做。关于PowerShell安全操作/配置,确实有一些不错的文章。

限制/阻止使用powershell.exe,push.exe不会阻止使用PowerShell。这些只是主机,我可以使用任何开发工具来创建自己的PowerShell主机并运行命令。我什至可以创建自己的PowerShell编辑器,甚至扩展其他编辑器。

PowerShell Editor Services PowerShell Editor Services提供了必需的通用功能,以在多个编辑器之间实现一致且强大的PowerShell开发体验。

Getting Started with Editor Commands

Extending the Host Editor PowerShell Editor Services公开了一个通用的可扩展性模型,该模型使您可以在PowerShell中编写可在使用PowerShell Editor Services的所有编辑器中使用的扩展代码。

PowerShellEditorServices 在任何编辑器或应用程序中均可使用PowerShell开发支持的通用平台!

Join us for the PowerShell Editor Services Hack Week, Dec 6-13!

我几乎可以使用WMIC或VBS来完成所有PowerShell方面的工作(但是,我从未见过任何一家企业真正尽其所能地解决这些问题)。是的,这是更多的代码和丑陋的,但可行的。因此,对于控制和事件响应,必须进行审计,约束/委派等。因此,当端到端风险/安全管理时,这里有一些需要阅读的东西。

企业客户的PowerShell安全性 https://blogs.msdn.microsoft.com/daviddasneves/2017/05/25/powershell-security-at-enterprise-customers https://acsc.gov.au/publications/protect/Securing_PowerShell.pdf

PowerShell logging boosts security in the enterprise

Practical PowerShell Security: Enable Auditing and Logging with DSC

More New Stuff in PowerShell V5: Extra PowerShell Auditing

PowerShell Injection Hunter: Security Auditing for PowerShell Scripts

15 Ways to Bypass the PowerShell Execution Policy

Introduction to PowerShell Endpoints

Build Constrained PowerShell Endpoint Using Configuration File