gpt4 book ai didi

powershell - 当脚本路径完全限定时,在移除服务器上执行 Powershell 失败

转载 作者:行者123 更新时间:2023-12-04 08:09:26 25 4
gpt4 key购买 nike

我有两台服务器在同一域上运行 Windows Server 2012 R2,\tt-sql.perf.corp 和\tt-file.perf.corp。文件服务器上的共享文件夹\tt-file.perf.corp\fileshare\helloworld.ps1 中有一个Powershell 脚本。我在执行以下命令的 sql 服务器上有一个应用程序:
powershell -NonInteractive -InputFormat None -ExecutionPolicy Bypass -Command "& '\tt-file.perf.corp\fileshare\helloworld.ps1'"
它因以下错误而失败:

& : AuthorizationManager check failed. At line:1 char:3 + & '\tt-file.perf.corp\fileshare\helloworld.ps1' + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess



如果我更改路径以使用 IP 地址,它也会失败。

但是,它在脚本路径不完全限定时有效: powershell -NonInteractive -InputFormat None -ExecutionPolicy Bypass -Command "& '\tt-file\fileshare\helloworld.ps1'"
Windows Management Instrumentation 服务正在两台服务器上运行。我也在两台服务器上运行了 Get-ExecutionPolicy,并且都设置为 Unrestricted。两台服务器上都禁用了 UAC。这是怎么回事?

最佳答案

似乎您已经找到了解决方法(使用短名称与 FQDN),因此我将尝试回答您首先遇到这个问题的原因。

一些更大的可以找到in this blog post ;实际上,这是因为当您为服务器指定 FQDN 时,您正在运行 PowerShell/Windows 安全功能之一。即使您指定 PowerShell 应绕过正常执行策略,从 FQDN 运行也会使 Windows 相信此文件来自网络,因此 PowerShell 想向您显示如下警告:

Run only scripts that you trust. While scripts from the Internet can be
useful, this script can potentially harm your computer. Do you want to run
\\tt-file.perf.corp\fileshare\helloworld.ps1?
[D] Do not run [R] Run once [S] Suspend [?] Help (default is "D"):

但它不能,因为您在非交互模式下运行 shell。

所以你有两个选择来解决这个问题,真的:
  • 正如这篇博文所述,您可以通过将 UNC 路径设为 IE 中的受信任站点来解决问题,或者仅使用您所看到的短名称(使用\tt-file\与\tt-file.perf.corp)反而。
  • 您可以对本地 Intranet 区域使用组策略(如果这是一次性计算机,则在 IE 中配置)地址。如果这是一次性机器,请转到 Internet Explorer、工具、Internet 选项,然后转到安全选项卡。单击本地 Intranet、高级,然后在此处添加您的 FQDN,如下所示。

  • Configuring the FQDN Security Prompt work-around for a single machine

    如果这是您想要全局配置的设置,请在组策略管理控制台中的以下位置指定路径,就像我在上面所做的那样:

    User Configuration, expand Polices > Windows settings >Internet Explorer Maintenance >Security 3. Double click Security Zones and Content Ratings, then chose Import the current security zones and privacy settings.



    有关组策略方法的更多信息, refer to this thread here on TechNet.

    我希望这有帮助!不幸的是,我想不出一个好的 PowerShell 方法来解决这个问题:)。

    关于powershell - 当脚本路径完全限定时,在移除服务器上执行 Powershell 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29242447/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com