how to use variable for Invoke-Sqlcmd -ServerInstance

This topic contains 1 reply, has 2 voices, and was last updated by Profile photo of Dave Wyatt Dave Wyatt 8 months, 1 week ago.

  • Author
    Posts
  • #37160
    Profile photo of Kir K
    Kir K
    Participant

    Hi all!

    Have a question on how to pipe/use variable in Invoke-Sqlcmd -ServerInstance.
    Usecase: working on script which runs some SQL code for SQLServer\Instance, but they are different most of the time.

    I can retrieve SQLServer Instance as System.Strings but can not pipe to the command.
    Set-location sqlserver:\sql\ doesn't accept variables too

    Invoke-Sqlcmd -ServerInstance $a.SqlServerName\$b.SQLInstanceName -Query "SELECT @@VERSION"

  • #37161
    Profile photo of Dave Wyatt
    Dave Wyatt
    Moderator

    You'll need to use subexpression operators to get the behavior you're after:

    Invoke-Sqlcmd -ServerInstance "$($a.SqlServerName)\$($b.SQLInstanceName)" -Query "SELECT @@VERSION"
    

You must be logged in to reply to this topic.