0

我有一个托管在 Windows 2016 服务器上的脚本。所有 IT 团队都使用此脚本。目前,要运行脚本,用户使用以下命令:

powershell \\ServerName.mydomain1\Share\MyScript.ps1

一切正常。

我想创建一个像 MyScript.mydomain2 这样的 DNS 别名。我可以使用别名正确访问服务器。但是,如果我想使用

powershell \\MyScript.mydomain2\Share\MyScript.ps1

这没用。我有一个错误告诉我我必须在脚本上签名。 

如果我使用服务器名称而不是别名,则一切正常。如果我在与服务器相同的域中创建别名,则一切正常。如果别名存储在另一个 DNS 域中,则会出现错误。

4

2 回答 2

1

问题是服务器上的 SPN。因为使用了别名,所以必须添加新的 SPN“HOST/MyScript.mydomain2”。它现在工作正常。谢谢您的帮助,

奥利维尔

于 2018-12-03T16:33:19.550 回答
0

新的 UNC 路径不在您的系统信任的脚本执行位置中。要解决此问题,您可以:

  • 签署脚本。
  • 添加\\MyScript.mydomain2\Share到受信任位置列表(更具体地说,添加到“本地 Intranet”区域,例如通过组策略)。有关详细信息,请参阅脚本专家博客。
  • 调用脚本时覆盖执行策略:

    powershell -ExecutionPolicy Bypass -File \\MyScript.mydomain2\Share\MyScript.ps1
    

    请注意,覆盖执行策略仅在未通过本地或组策略定义的情况下才有效。

于 2018-12-03T11:36:31.830 回答