Powershell 在生产环境中设置executionpolicy的常见做法是什么?

Powershell 在生产环境中设置executionpolicy的常见做法是什么?,powershell,powershell-2.0,Powershell,Powershell 2.0,向客户提供脚本时,除非他们设置了executionpolicy,否则脚本不会执行 向客户提供脚本时的常见做法是什么 set executionpolicy是否将作为脚本中的第一个命令运行,以便在执行时不会出现任何错误,或者将捕获有关set executionpolicy的某些文档 我第一次向我们的客户提供powershell脚本。以前我只是在我们的环境中执行,所以我没有考虑它 请帮助我了解一下这一方法: 还可以将bat文件作为包装发送到.ps1,它将执行以下操作: @powershell -Ex

向客户提供脚本时,除非他们设置了executionpolicy,否则脚本不会执行

向客户提供脚本时的常见做法是什么

set executionpolicy是否将作为脚本中的第一个命令运行,以便在执行时不会出现任何错误,或者将捕获有关set executionpolicy的某些文档

我第一次向我们的客户提供powershell脚本。以前我只是在我们的环境中执行,所以我没有考虑它

请帮助我了解一下这一方法:

还可以将bat文件作为包装发送到.ps1,它将执行以下操作:

@powershell -ExecutionPolicy RemoteSigned -File script.ps1

如果我向客户提供脚本,我将数字签名并建议他们考虑使用ReleTimeIn执行策略。


不过,对于大多数管理员,我通常建议不受限制。这些管理员有足够的权力,让他们跳转运行代码似乎是浪费时间。在一天结束时,他们总是可以通过一种或另一种方式运行代码——那么为什么要浪费时间来要求签名呢

@manojlds answer正是我要做的,只是一个附带的评论:将Set ExecutionPolicy作为脚本的第一行几乎没有任何意义,它无论如何都不会运行。我还建议您使用有效的证书并对脚本进行签名,这样,如果他们使用AllSigned,您的脚本将可以批处理工作。请注意,如果配置了GPO--powershell.exe上的ExecutionPolicy开关对您没有帮助。我喜欢这种方法,因为它不会在用户不知道的情况下将用户的执行策略猛击到新值。它只是为即将运行的脚本设置执行策略。