Da ich kein Fan von CSV Datein bin und gerne alles in einer Datenbank habe, habe ich folgende Funktion geschrieben, sodass ich nicht zig mal in einem Skript dieselben Zeilen wiederholen muss.
function Query-SQL { <# .SYNOPSIS .DESCRIPTION .PARAMETER Table .EXAMPLE PS C:\> PS C:\> Query-SQL -SqlQuery "select * from dbo.TestTable" -SQLServer $SQLServer -SQLUser $SQLUser -SQLPwd $SQLPwd -SQLDBName $SQLDBName .NOTES Author: Joachim Armbruster Blog : http://PowerShell24.de/ #> Param ( [parameter(Mandatory=$true)]$SqlQuery, $SQLServer, $SQLUser, $SQLPwd, $SQLDBName ) # ================================================================================================= # ================================================================================================= $SqlConnection = New-Object System.Data.SqlClient.SqlConnection $SqlConnection.ConnectionString = "Server = $SQLServer; uid = $SQLUser; pwd = $SQLPwd; Database = $SQLDBName; Integrated Security = False" $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 $SqlResult = $DataSet.Tables[0].Rows $SqlConnection.Close() return $SqlResult }
# SQL-Daten der Datenbank $SQLServer = "192.168.0.101" $SQLUser = "DB-Reader" $SQLPwd = "P@ssw0rd" $SQLDBName = "ReportDB" $SqlQuery = "SELECT * FROM dbo.Accounts" $Beispiel = Query-SQL -SQLServer $SQLServer -SQLUser $SQLUser -SQLPwd $SQLPwd -SQLDBName $SQLDBName -SqlQuery $SqlQuery