【发布时间】:2018-04-11 10:42:31
【问题描述】:
我喜欢在 Windows 10 上的 PowerShell 中使用几个别名。
我希望它们在会话之间保持不变,因此我将它们放在 C:\Users{username}\Documents\WindowsPowerShell 下的 profile.ps1 文件中。
我收到这个烦人的“无法加载,因为在这个系统上禁用了正在运行的脚本”。错误消息,并找到了有关如何摆脱它的页面: https://social.technet.microsoft.com/Forums/en-US/3e4a9006-d47d-4e19-96f4-10327ae0c5b1/not-able-to-run-script-in-windows-10?forum=winserverpowershell
这里有人说这条线会有所帮助:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force -Verbose
但是将执行策略设置为对我的用户无限制有危险吗?
【问题讨论】:
-
我实际上打算投票结束这个主要是基于意见的。所以这里是我的意见。是不是更不安全?明确地。是安全漏洞吗?好吧,这取决于您对安全漏洞的定义。我个人将我的执行策略设置为 RemoteSigned。这意味着我可以拥有配置文件,但无法运行从 Internet 下载的脚本,而无需先更改其 ADS。
-
实际上拥有个人资料并不是我使用 RemoteSigned 的原因。我意识到这可能会产生误导。如果我愿意,我可以在个人资料上签名。我使用 RemoteSigned 的原因是,我经常用一天的时间在 powershell 中测试技术,并向刚来到我办公桌前的其他人展示如何在 powershell 中做事。通常通过快速模拟他们想要的脚本。每次我创建一个 10 到 20 行的小脚本时,都不值得为这些小脚本签名。但那是我的环境和我使用 powershell 的方式。您必须自己做出这些决定。
-
执行策略是一项安全功能,而不是一项安全功能。无论执行策略是什么,我们仍然可以通过为 PowerShell 进程设置执行策略来运行脚本,这不需要提升权限。限制性执行策略仅有助于防止用户意外运行不应运行的脚本。它根本不会阻止用户运行任何脚本。
标签: powershell security windows-10 executionpolicy