远程Powershell访问被拒绝

时间:2018-09-10 18:48:13

标签: sql-server powershell

我有一个包含一些表和触发器的SQL Server数据库,该触发器将在ServerA上创建FolderA或在ServerB上创建FolderB,这是我在ServerA的触发器中传递的命令:

SET @folder = 'powershell.exe  invoke-command -computername ServerA { powershell.exe  -NoProfile -ExecutionPolicy Bypass  -File C:\FolderScript\FolderA.ps1 "' +@folderName+'" }'

EXEC master.dbo.xp_cmdshell @folder

我有一个间歇性问题,它可以正常工作几天才能停止,然后我必须从ServerA上的PS手动运行它。

因为它是间歇性的,所以我们可以排除防火墙,权限,PowerShell启用远程。我有一个基于Web的应用程序(asp.net),用户可以在自己的计算机上运行该应用程序,并将其连接到触发器所在的SQL Server数据库。

是否存在一些需要保持打开状态的会话以防止访问被拒绝的错误?我想不出其他任何可能导致此问题的原因?

1 个答案:

答案 0 :(得分:0)

我怀疑问题出在您的命令中:

<p>

这应该足以解决您的问题。您无需重复调用SET @folder = 'powershell.exe -Command "Invoke-Command -ComputerName ServerA { & ''C:\FolderScript\FolderA.ps1'' ' + @folderName + ' }"' ,因为您可以使用调用运算符(powershell.exe)本机调用脚本。