[role="xpack"] [testenv="platinum"] [[sql-client-apps-ps1]] === Microsoft PowerShell experimental[] [quote, https://docs.microsoft.com/en-us/powershell/scripting/powershell-scripting] ____ https://docs.microsoft.com/en-us/powershell/[PowerShell] is a task-based command-line shell and scripting language built on .NET. ____ PowerShell is available on all recent Windows Desktop OSes. It also has embedded ODBC support, thus offering a quick and accessible way to connect to {es}. ==== Prerequisites * Microsoft PowerShell * {es-sql} <> * A preconfigured User or System DSN (see <> section on how to configure a DSN). ==== Writing a script While putting the following instructions into a script file is not an absolute requirement, doing so will make it easier to extend and reuse. The following instructions exemplify how to execute a simple SELECT query from an existing index in your {es} instance, using a DSN configured in advance. Open a new file, `select.ps1`, and place the following instructions in it: ["source","powershell",subs="attributes,callouts"] -------------------------------------------- $connectstring = "DSN=Local Elasticsearch;" $sql = "SELECT * FROM library" $conn = New-Object System.Data.Odbc.OdbcConnection($connectstring) $conn.open() $cmd = New-Object system.Data.Odbc.OdbcCommand($sql,$conn) $da = New-Object system.Data.Odbc.OdbcDataAdapter($cmd) $dt = New-Object system.Data.datatable $null = $da.fill($dt) $conn.close() $dt -------------------------------------------- Now open a PowerShell shell and simply execute the script: [[apps_excel_exed]] .Run SQL in PowerShell image:images/sql/odbc/apps_ps_exed.png[] // vim: set noet fenc=utf-8 ff=dos sts=0 sw=4 ts=4 tw=138 columns=140