/ / Jak przekazać parametry do sqlps z głównego skryptu powłoki systemu Windows - powershell, powershell-v2.0

Jak przekazać parametry do sqlps z głównego skryptu powłoki systemu Windows - powershell, powershell-v2.0

Mam następujący główny skrypt powłoki Power Shell. Definiuje pojedynczą zmienną V1 a następnie uruchamia sqlps, który używa tej zmiennej. Ponieważ sqlps samo w sobie jest minishellem, którego nie rozpoznaje V1

$V1 = "asdasd"

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

Dlatego zaktualizowałem blok sqlps -Command, aby oczekiwać parametru w następujący sposób. Jednak nie jestem pewien, jak przekazać zewnętrzną wartość zmiennej V1 do wewnętrznego 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"
}

Dostępna jest pomoc dotycząca składni http://technet.microsoft.com/en-us/library/cc280450.aspx i próbowałem wielu kombinacji, ale wydaje mi się, że nie działa.

Dowolny pomysł?

Odpowiedzi:

3 dla odpowiedzi № 1

och, sprawdź to

$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