我有两台服务器在同一个域上运行 Windows Server 2012 R2,\tt-sql.perf.corp 和 \tt-file.perf.corp。在文件服务器的共享文件夹\tt-file.perf.corp\fileshare\helloworld.ps1 中有一个Powershell 脚本。我在执行以下命令的 sql server 上有一个应用程序:
powershell -NonInteractive -InputFormat None -ExecutionPolicy Bypass -Command "& '\tt-file.perf.corp\fileshare\helloworld.ps1'"
它失败并出现以下错误:
& : AuthorizationManager 检查失败。在 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。这是怎么回事?