Ich mache einige Powershell-Skripte zum Ausführen von SQL-Befehlen für SQL Server und müssen das Windows-Konto angeben, um in der Verbindungszeichenfolge zu verwenden. Ich habe folgendes versucht, was nicht funktioniert.Ausführen von SQL-Befehl mit Powershell und Angabe des Domänenkontos
$SQLServer = ".\sqlexpress"
$SQLDBName = "dbname"
$uid ="domain\user
$pwd = "password"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = false; User ID = $uid; Password = $pwd;"
$SqlCmd.Connection = $SqlConnection
$SqlConnection.Open();
.... Execute query...
Ich bekomme den folgenden Fehler.
Exception "Öffnen" mit "0" Argumente Aufruf (e): „Fehler bei der Anmeldung für den Benutzer 'Domain \ user'
Ich war führen zu verstehen, dass, wenn Sie auf integrierte false angeben. Sicherheit dann würde der Benutzername und das Passwort übernehmen und schließen Sie das entsprechende Fenster Konto.
Für mich zu verbinden versagt. Bin ich hier etwas fehlt?
Vielen dank
Darren
Ok, ich habe ein wenig mehr gelesen und verstehe jetzt, dass das Domänenkonto nicht angegeben werden kann. Ich muss entweder ein SQL-Konto erstellen oder sich irgendwie als Domänenbenutzer ausgeben. – zybroxz
Sie sollten wahrscheinlich nur das SQL-Konto erstellen und den Namen des SQL-Kontos Ihrem Programmnamen ähnlich machen. – Chuck
Wie wir das umgehen können, verwenden wir "Integrated Security = true" und führen das PowerShell-Skript mit einem Dienstkonto aus. Ich nehme an, Sie könnten auch eine PSSession aufrufen, die ein PSCredential-Objekt übergibt. – websch01ar