Invoke-DbaQuery -SqlCredential可以交互工作,但不能从Web应用程序调用时

时间:2019-05-31 20:07:05

标签: powershell iis dbatools

我有一个Powershell脚本,可以从Visual Studio Web应用程序(C#)调用。我设置了一个应用程序池,并且脚本执行。但是,当我通过Invoke-DbaQuery使用任何-SqlCredential命令时,它在Powershell控制台中运行正常,但是在从Web应用程序中调用时使用了应用程序池凭据。

以下是一些测试代码:

$mytest = Invoke-DbaQuery -SqlInstance $BackupInstance -Database "master" -SqlCredential $SourceCredential -Query "select suser_name()" -as SingleValue 

write-output "I am currently running as:  $mytest"

从powershell中返回:

  

我当前的运行身份为:MYDOMAIN \ myAdUserName

通过网络应用程序运行时,我得到:

  

我当前的运行身份为:MYDOMAIN \ AppPoolServerName $

我已更改凭据以尝试使用其他用户,并且从控制台运行时,它将返回该新用户,但是从Web运行时,它仍返回计算机名称。

有什么想法为什么会发生这种情况以及如何解决?

0 个答案:

没有答案