## The list-sql-tables.ps1 PowerShell Script This PowerShell script lists all tables in a SQL server database and exports the list as CSV. Install-Module InvokeQuery Run the above command if you do not have this module. ## Parameters ```powershell list-sql-tables.ps1 [-server] [-database] [-username] [-password] [] -server Required? true Position? 1 Default value Accept pipeline input? false Accept wildcard characters? false -database Required? true Position? 2 Default value Accept pipeline input? false Accept wildcard characters? false -username Required? true Position? 3 Default value Accept pipeline input? false Accept wildcard characters? false -password Required? true Position? 4 Default value Accept pipeline input? false Accept wildcard characters? false [] This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. ``` ## Example ```powershell PS> ./list-sql-tables ``` ## Notes Author: Markus Fleschutz | License: CC0 ## Related Links https://github.com/fleschutz/PowerShell ## Source Code <# .SYNOPSIS Lists all tables of a SQL server database .DESCRIPTION This PowerShell script lists all tables in a SQL server database and exports the list as CSV. Install-Module InvokeQuery Run the above command if you do not have this module. .EXAMPLE PS> ./list-sql-tables .LINK https://github.com/fleschutz/PowerShell .NOTES Author: Markus Fleschutz | License: CC0 #> param( [Parameter(Mandatory=$true)]$server, [Parameter(Mandatory=$true)]$database, [Parameter(Mandatory=$true)]$username, [Parameter(Mandatory=$true)]$password ) $secpasswd = ConvertTo-SecureString $password -AsPlainText -Force $creds = New-Object System.Management.Automation.PSCredential ($username, $secpasswd) $csvfilepath = "$PSScriptRoot\sqlserver_tables.csv" $result = Invoke-SqlServerQuery -Credential $creds -ConnectionTimeout 10000 -Database $database -Server $server -Sql "SELECT TABLE_NAME FROM $database.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'" -CommandTimeout 10000 $result | Export-Csv $csvfilepath -NoTypeInformation *Generated by convert-ps2md.ps1 using the comment-based help of list-sql-tables.ps1*