Как передать параметры в sqlps из сценария PowerShell для главного окна - PullRequest
4 голосов
/ 06 января 2011

У меня есть мастер-сценарий powershell следующим образом.Он определяет одну переменную $ V1 , а затем запускает sqlps, который использует эту переменную.Поскольку sqlps сам по себе является мини-оболочкой, он не распознает $ V1

$V1 = "asdasd"    

sqlps -NoLogo -Command {
            invoke-sqlcmd -Query $V1 -ServerInstance "SomeImstamce" -Database "SomeDatabase" -Username "SomeUsernName" -Password "SomePassword"
      }

. Поэтому я обновил блок sqlps -Command, ожидая параметр следующим образом.Однако я не уверен, как передать значение внешней переменной $ V1 во внутренний sqlps -Command Block

$V1 = "RBIQHSAPPD049v.b2b.regn.net"

sqlps -NoLogo -Command {
            param ($SqlPsParam)
            invoke-sqlcmd -Query $SqlPsParam  -ServerInstance "SomeImstamce" -Database "SomeDatabase" -Username "SomeUsernName" -Password "SomePassword"
      }

Синтаксическая справка есть на http://technet.microsoft.com/en-us/library/cc280450.aspx, и я пробовал много комбинаций, но это не таккажется, работает.

Есть идеи?

1 Ответ

4 голосов
/ 06 января 2011

о, разберись наконец

$V1 = "sdfsaf"
$V2 = "safd"

sqlps -NoLogo -Command {
            param ($SqlPsParam1, $SqlPsParam2)
            invoke-sqlcmd -Query $SqlPsParam  -ServerInstance "SomeImstamce" -Database "SomeDatabase" -Username "SomeUsernName" -Password "SomePassword"
      } -args $V1, $V2
...