我有一个主 powershell 脚本如下。它定义了一个变量 $V1 然后启动使用这个变量的 sqlps。由于 sqlps 本身就是一个 minishell,它无法识别 $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 有语法帮助,我尝试了很多组合,但似乎不起作用。

任何想法?

最佳答案

哦,终于弄清楚了

$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

关于powershell - 如何从主 Windows PowerShell 脚本将参数传递给 sqlps,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4618065/

10-14 22:07