【发布时间】:2019-07-13 13:14:20
【问题描述】:
我有一个 power shell 脚本,它运行以停止服务、“停止/终止进程”、删除 2 个文件然后重新启动。
我可以在我的 Windows 10 64 位主机上完美运行此脚本 - 零问题。 我尝试在我的虚拟机中运行它,但出现错误
无法加载,因为在此系统上禁用了正在运行的脚本。有关详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkID=135170 上的 about_Execution_Policies
所以只是为了咯咯笑,我去看了我的组策略,但它们都没有在两台机器上配置。
管理模板 > Windows 组件 > Windows PowerShell 未配置。
那么为什么是虚拟机上的问题而不是我的主机上的问题?
编辑 在 VM 上运行 Get-ExecutionPolicy 和 Get-ExecutionPolicy-List 受限
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Undefined
在我的主机上运行它
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Unrestricted
不知道我的本地机器是怎么改的——软件安装??
【问题讨论】:
-
在其中一台虚拟机上
get-executionpolicy命令的输出是什么?如果输出不是 RemoteSigned、Unrestricted 或 Bypass,则可能是您的问题。 -
AdminOfThings 对问题的扩展...对于运行脚本的帐户,该系统上的执行策略是什么?
-
如答案中所述 -
Restricted是默认的 PowerShell 执行策略。 -
@AdminOfThings 我了解默认设置是受限的。那么,如果两台机器都没有配置——即使根据我的组策略,为什么还要限制它呢?两者从一开始就在我的手中 - 新笔记本电脑,新 VM(我创建).. 没有更改策略,在 Grp Policy 中都说未配置。今天,get-executionpolicy 正在运行而没有给我错误 - 并且准确地说 - 一个是受限制的,一个是不受限制的。昨天刚吐出不允许我在机器上运行脚本的错误。
标签: powershell