Server 2012 GPO:计算机启动时的PowerShell脚本未运行

我在Amazon EC2上有几个Server 2012实例,我正在设置GPO。 除了在计算机启动时指定的任何PowerShell脚本实际上正在执行外,所有GPO的设置都可以正常应用。 这些脚本位于拥有完全权限的已validation用户身份的UNC共享上。 我假设它可能与执行策略有关,但我不知道如何自动绕过它。 我可以在每个实例中绕过执行策略,但这显然不是一个好主意,而且我最终将连接将运行相同脚本的Windows 7计算机。

我怎样才能让脚本实际运行? 谷歌search没有收获很多…

当前权限

分享 – 已validation用户(完整)

NTFS – Everyone(Full); 创作者(特别); SYSTEM(Full)

迟到的回复,但你的问题可能是2012年延迟login脚本的默认值。 尝试更低的设置:

Computer Configuration\Policies\Administrative Templates\System\Group Policy\Configure Logon Script Delay

如果它的计算机政策,authentication用户不是你想要的。 您需要授予Domain Computers读取权限。

我认为从Windows共享远程运行的PowerShell脚本被认为是互联网的一部分,所以你有几个select:

  • 执行策略需要远程签名,您必须签署脚本。
  • 执行政策需要不受限制。
  • 在本地复制脚本,如果您的执行策略是“远程签名”或“无限制”,则可以运行该脚本。
  • 调用powershell.exe时,请使用值为Unrestricted-ExecutionPolicy参数

您可以改为使用GPO文件存储文件。 当你进入脚本你应该看到一个“显示文件”button。 点击该button,popup应放置脚本的文件夹。 一旦进入该文件夹,您只需点击“添加”并select文件。

否则,您可以添加具有读取权限的Domain Computers ,因为计算机将是在启动时对共享进行身份validation的计算机,而不是用户。

我放弃了…我不能成为这个工作的白痴。 我尝试的最后一件事是从batch file中调用PowerShell脚本。 即使这似乎是一个命中或错过(主要是错过)…

我受够了。 就像我说的,无论我是一个巨大的白痴还是微软都没有实现自己的function…

这是一个老话题,但最有可能的答案是在GPO的启动属性中的PowerShell脚本的文件名和/或path中有SPACES。 要解决这个问题,只需在GPO的启动属性中没有运行的PowerShell脚本名称的完整path周围添加双引号即可。

启动“脚本名称”之前: \\ SERVERNAME \ Scripts \ Install KBs \ Install KBs.ps1这不显示GPResults中最后一次运行。 EventLog没有帮助它显示ErrorCode 0 ScriptElaspedTimeInSeconds 0.然而,在registryHKLM \ SOFTWARE \微软\的Windows \ CurrentVersion \组策略\状态\机器\脚本\启动\#\#,其中#是数字,它显示真正的ErrorCode 0xfffd0000(4294770688)。 这是由于脚本没有find – 由于空间(s)。

“\\ SERVERNAME \ Scripts \ Install KBs \ Install KBs.ps1 ”之后启动“脚本名称”现在在GPResults脚本的最后一次运行显示它已运行。 在上面的registry中,显示ErrorCode 0x0,这是正常的。

这个解决和固定的解决scheme是在Windows 7企业testing。 我不需要更改权限,但具有读取权限的AUTHENTICATED用户可以使计算机对象读取PowerShell脚本。

我遇到了同样的问题。 当我试图从\ domain.local \ netlogon文件夹运行脚本时,它给了我一个执行策略不允许运行远程脚本的错误。 我运行get-executionpolicy并将其设置为“Restricted”。 我跑了set-executionpolicy remotesigned但没有帮助,因为它没有数字签名。

我跑了get-help about_signing ,它告诉我,我必须签署的数字证书从CA或自签名的脚本的脚本。 很多工作只是为了编写Windows 7的PowerShell的login脚本。 但是,对于具有更高版本的Powershell(Server 2012 R2,带有PS5的Windows 7)的系统,它运行时没有问题。 现在我必须弄清楚如何在没有WSUS的情况下在每个工作站上安装WMF5.0,或者将其吸收并签署愚蠢的脚本。

谢谢比尔·盖茨