在其他DNS区域中使用别名执行PowerShell脚本

时间:2018-12-03 09:16:52

标签: powershell powershell-v4.0

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

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

一切正常。

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

运行脚本
powershell \\MyScript.mydomain2\Share\MyScript.ps1

它不起作用。我有一个错误告诉我必须签署脚本。

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

2 个答案:

答案 0 :(得分:1)

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

奥利维尔

答案 1 :(得分:0)

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

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

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

    请注意,仅当未通过本地策略或组策略定义执行策略时,才可以覆盖执行策略。