Author Posts

May 3, 2016 at 6:47 am

I am attempting to use an array of servers that i have in a sql query. But for that i need each server to be listed with single quotes.

Here is what i have:

$serverarray = @(server1, server2, server3)

for the query to work i need to build a query command file. I am doing this with:

$sqlcmd = "some long sting here including ('server1', 'server2', 'server3')"
$sqlcmd |out-file -encoding ascii -filepath $filepathvar

How can i get the servers to list with single ticks?

May 3, 2016 at 7:51 am

Put the single quotes within double quotes or use a here-string.

$serverarray = @("'server1'", "'server2'", "'server3'")

– or –

$serverarray = @"
'server1'
'server2'
'server3'
"@ -split "`r`n"

$sqlcmd = "some long sting here including ($($serverarray -join ','))"
$sqlcmd | out-file -encoding ascii -filepath $filepathvar

May 3, 2016 at 10:35 am

You can also do like this:

$sqlcmd = "some long sting here including ('$($serverarray -join "','")')"

May 3, 2016 at 12:12 pm

Thanks Christian , that is exactly what i was looking to do. That will allow me to use the same array of servers for multiple purposes.

May 4, 2016 at 6:31 am

Happy to help