<# .SYNOPSIS Converts a SQL database table to a .CSV file .DESCRIPTION This script converts a SQL database table to a .CSV file. .PARAMETER server Specifies the server's hostname or IP address .PARAMETER database Specifies the database name .PARAMETER username Specifies the user name .PARAMETER password Specifies the password .PARAMETER query Specifies the SQL query .EXAMPLE PS> ./convert-sql2csv .NOTES Author: Markus Fleschutz · License: CC0 .LINK https://github.com/fleschutz/PowerShell #> param([string]$server = "", [string]$database = "", [string]$username = "", [string]$password = "", [string]$query = "") try { if ($server -eq "") { $server = read-host "Enter the hostname/IP address of the SQL server" } if ($database -eq "") { $database = read-host "Enter the database name" } if ($username -eq "") { $username = read-host "Enter the database username" } if ($password -eq "") { $password = read-host "Enter the database user password" } if ($query -eq "") { $query = read-host "Enter the database query" } $secpasswd = ConvertTo-SecureString $password -AsPlainText -Force $creds = New-Object System.Management.Automation.PSCredential ($username, $secpasswd) $csvfilepath = "$PSScriptRoot\sqlserver_table.csv" $result = Invoke-SqlServerQuery -Credential $creds -ConnectionTimeout 10000 -Database $database -Server $server -Sql $query -CommandTimeout 10000 $result | Export-Csv $csvfilepath -NoTypeInformation exit 0 # success } catch { "⚠️ Error: $($Error[0]) ($($MyInvocation.MyCommand.Name):$($_.InvocationInfo.ScriptLineNumber))" exit 1 }