Powershell SQL-Abfrage
$Server= "11.11.11.11"
$Database = "test_db"
$SQLQuery= $("Select name from db.td.test)
$credential = Get-Credential
$password=$credential.Password
$username=$credential.UserName
$Connection = New-Object System.Data.SQLClient.SQLConnection
$Connection.ConnectionString = "server='$Server';database='$Database';trusted_connection=false;user=$username;password=$password"
$Connection.Open()
Geben Sie Werte für die folgenden Parameter an:
Credential
Ausnahme beim Aufrufen von "Open" mit 0 Argument(en): "Fehler bei der Anmeldung für den Benutzer
'Test\User."
In C:\sql.ps1:38 Zeichen:5
+ $Connection.Open()
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) , MethodInvocationException
+ FullyQualifiedErrorId : SqlException
Was mache ich falsch? Ziel ist ein Server 2003 mit MSSQL drauf, also Remote.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 266193
Url: https://administrator.de/forum/powershell-sql-abfrage-266193.html
Ausgedruckt am: 02.04.2025 um 05:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo Marabunta,
Get-Credential liefert für die Eigenschaft Password kein Klartextpasswort sondern ein Objekt des Typs Securestring. Um das Klartextpasswort zu erhalten musst du es so extrahieren:
Grüße Uwe
p.s. falls du eine Funktion für eine SQL-Abfrage gebrauchen kannst die dir die Daten direkt als Datatable ausgibt... biddeschön
Get-Credential liefert für die Eigenschaft Password kein Klartextpasswort sondern ein Objekt des Typs Securestring. Um das Klartextpasswort zu erhalten musst du es so extrahieren:
$password = $credential.GetNetworkCredential().Password
p.s. falls du eine Funktion für eine SQL-Abfrage gebrauchen kannst die dir die Daten direkt als Datatable ausgibt... biddeschön
function Get-SQLTableContents($query,$server,$database,$username,$password){
$conn = new-object System.Data.SqlClient.SqlConnection
$conn.ConnectionString = "Server=$server;Database=$database;Integrated Security=False;UID=$username;PWD=$password"
try{
$conn.Open()
$cmd = $conn.CreateCommand()
$cmd.CommandText = $query
$cmd.Connection = $conn
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $cmd
$dt = New-Object System.Data.DataTable
$SqlAdapter.Fill($dt) | out-null
$conn.close()
return $dt
}
catch{
echo "Fehler: $($_.Exception.Message)"
$conn.close()
return $false
}
}
$data = Get-SQLTableContents "Select * from TestTable" "192.168.1.95" "TestDB" "sqluser" "Passw0rd"
$data

Da ist die SQL-Server-instanz nicht richtig konfiguriert das man ihn via tcp-sockets erreichen kann. Ist also kein Powershell-Problem sondern ein SQL-Server-Config spezifisches...
Gruß jodel
- https://technet.microsoft.com/en-us/library/aa178138(v=sql.80).aspx
- https://www.blackbaud.com/files/support/infinityinstaller/content/instal ...
\\Server\Instanzname
Gruß jodel