2017-08-24 21 views
1

私は自分のスクリプトをデータベースに接続しようとしています。 以前私はそれを作った:SQL接続powershellから

psexec \\servername -accepteula sqlcmd.exe -U username -P password -S database -Q query 

は今、私はPowerShellのコードに変換します。

Enter-PSSession servername 
$SQLCred = New-Object System.Data.SqlClient.SqlCredential("username","password") 
$Connection = New-Object System.Data.SqlClient.SqlConnection("Database",$SQLCred) 
$Connection.Open() 

をしかし、私はいつもこのエラーが出る: 私はこのしようとしている。もちろん、

Exception calling "Open" with "0" argument(s): "Login failed for user 'username'." 

私は資格情報が正しいことを確認しています。 2つの接続モードの違いは何ですか?

答えて

0

資格情報は、接続文字列で提供されています

$cred = New-Object System.Data.SqlClient.credential($userId, $password) 
$connectionString = "Data Source=$Instance;Integrated Security=SSPI;Initial Catalog=master; User Id = $($cred.username); Password = $($cred.GetNetworkCredential().password);" 
$connection = New-Object System.Data.SqlClient.SqlConnection 
$connection.ConnectionString = $connectionString 
$connection.Open() 
:既存の資格情報オブジェクトを持って

場合は、このようにそれを使用することができます

関連する問題