Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 r2 在远程计算机上运行exe时PSEXEC凭据委派问题_Sql Server 2008 R2_Psexec - Fatal编程技术网

Sql server 2008 r2 在远程计算机上运行exe时PSEXEC凭据委派问题

Sql server 2008 r2 在远程计算机上运行exe时PSEXEC凭据委派问题,sql-server-2008-r2,psexec,Sql Server 2008 R2,Psexec,我有一个简单的exe,它只连接到SQL server,并在远程机器上执行select。在我的场景中,我有三台机器:A、B和C 我正在破坏机器A的PSExec,如下所示: & C:\PSTools\PSExec.exe \\MachineB C:\connectsql.exe -u username -p password "Data Source=machineC;Initial Catalog=AllDocs;Integrated Security=SSPI;User id=user

我有一个简单的exe,它只连接到SQL server,并在远程机器上执行
select
。在我的场景中,我有三台机器:
A
B
C

我正在破坏机器
A
PSExec
,如下所示:

& C:\PSTools\PSExec.exe \\MachineB C:\connectsql.exe -u username -p password
"Data Source=machineC;Initial Catalog=AllDocs;Integrated Security=SSPI;User id=username;Password=pwd;"
在机器
B
上执行exe时,会尝试连接到机器
C
上的SQL server(基于exe中指定的连接字符串),其中包括用户名和密码,如下所示:

& C:\PSTools\PSExec.exe \\MachineB C:\connectsql.exe -u username -p password
"Data Source=machineC;Initial Catalog=AllDocs;Integrated Security=SSPI;User id=username;Password=pwd;"
用户名和密码是正确的。但我得到了这个错误:

Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
但是,如果我将exe中的连接字符串更改为连接到机器
B
本身上的SQL server,我看不到问题

此外,如果我在机器B上本地运行exe,它将成功连接到机器C上的SQL


你知道我如何解决这个问题吗,这样当
PSExec
在机器
A
上运行时,机器
B
上的exe应该能够连接到机器
C
上的sql?

集成安全=SSPI表示您正试图通过Windows身份验证进行连接。由于您提供的是
用户id
密码
,因此可以删除
集成安全=SSPI我尝试删除集成安全性=SSPI;从连接字符串,并在计算机B上本地运行它,它现在抱怨“用户名为”的用户登录失败,通过在WindowsServer 2008r2中设置以下内容解决:-信任此计算机以委派给任何服务(仅限Kerberos)。