2011-01-06 82 views
4

我有一个如下的主PowerShell脚本。它定义了一个变量$ V1然后启动使用这个变量的sqlps。由于SQLPS本身就是一个minishell它不承认$ V1如何从主窗口powershell脚本传递参数到sqlps

$V1 = "asdasd"  

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

因此,我更新了SQLPS -Command块预期参数如下。但是我不知道如何将外$ V1变量的值传递给内部SQLPS -Command座

$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语法的帮助,我已经尝试了许多组合,但它亘古不变的似乎工作。

有什么想法?

回答

3

哦弄明白atlast

$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 
+0

非常有帮助的例子 - 我有同样的需要使用sqlps.exe实用程序中的父脚本变量。谢谢 :-)。 – 2015-02-03 23:08:44

相关问题