我有一个主 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/