将变量传递给下标

时间:2014-04-18 20:10:34

标签: powershell

我想知道这是否可行。我正在尝试创建一个脚本,我们将其称为主脚本。此脚本查询数据库以获取我们将调用$svrs的服务器列表。简单的东西。

我不知道该怎么做或者是否有可能是使用$srvrs.Name变量作为这些脚本的参数从主脚本运行一系列下标。

$svrs = "get list sql stuff"
$scrpath = 'D:\test'

$scripts = Get-ChildItem $scrpath

$scripts.Name | ForEach-Object {
  Invoke-Expression $_ {I have no idea how to get server name variable here}
}

2 个答案:

答案 0 :(得分:1)

根据评论,你需要一个不会太复杂的嵌套循环。

$Scripts | Select-object Name | % {$curScript = $_
                                   $Servers | % {.\$_ $CurScript}
                                                }

答案 1 :(得分:0)

我最终以@JNK的帮助解决了这个问题......

以下是我获得所需结果的方法。

$allServers | ForEach-Object {
    $currentServer = $_
    $scripts.Name | ForEach-Object {
        Invoke-Expression ".\$_ $currentServer"
        }
    }