Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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 使用不同的windows用户帐户登录SQL Server_Sql Server_Powershell - Fatal编程技术网

Sql server 使用不同的windows用户帐户登录SQL Server

Sql server 使用不同的windows用户帐户登录SQL Server,sql-server,powershell,Sql Server,Powershell,我使用其他windows用户凭据登录SQL Server数据库时遇到问题 这是我的代码: $SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Server=$SQLServer;UID=DOMAIN\DiffUser;PWD=password;Integrated Security=True;" $SqlCmd = New-Obj

我使用其他windows用户凭据登录SQL Server数据库时遇到问题

这是我的代码:

$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server=$SQLServer;UID=DOMAIN\DiffUser;PWD=password;Integrated Security=True;" 
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand  
$SqlCmd.CommandText = $SqlQuery  
$SqlCmd.Connection = $SqlConnection  
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter  
$SqlAdapter.SelectCommand = $SqlCmd   
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet) | Out-Null
$SQLConnection.Close()
但是,当我运行它时,会出现以下错误:

使用“1”参数调用“Fill”时出现异常:“用户'DOMAIN\CurrentUser'登录失败。”

代码似乎没有使用我提供的连接字符串,而是试图以我自己的身份登录

我不确定我做错了什么

如果我删除
integratedsecurity=True从连接字符串中,我得到了预期的错误

使用“1”参数调用“Fill”时出现异常:“用户“域\扩散器”登录失败。”


我对这里发生的事情相当困惑。任何帮助都将不胜感激。

集成安全将使用当前上下文。这不是可以在连接字符串中设置的内容。如果需要使用当前上下文以外的上下文,则需要在打开连接之前模拟该上下文

也许WindowsIdentity.Impersonate会有用。您通常需要这些凭证。(没有凭据的模拟非常危险。)

如果要使用SSMS模拟以进行测试,按住shift键并右键单击SSMS将显示“以不同用户身份运行”选项。作为所需用户登录后,SSMS将作为该用户运行