Powershell 将变量传递给下标

Powershell 将变量传递给下标,powershell,Powershell,我想知道这是否可能。我正在尝试制作一个脚本,我们称之为主脚本。此脚本查询数据库以获取我们将调用的服务器列表$svrs。简单的东西 我不知道该怎么做,也不知道能否使用$srvrs.Name变量作为主脚本上的参数,从主脚本运行一系列下标 $svrs = "get list sql stuff" $scrpath = 'D:\test' $scripts = Get-ChildItem $scrpath $scripts.Name | ForEach-Object { Invoke-Expre

我想知道这是否可能。我正在尝试制作一个脚本,我们称之为主脚本。此脚本查询数据库以获取我们将调用的服务器列表
$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}
}

根据注释,您确实需要一个不会太复杂的嵌套循环

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

最后我在@JNK的帮助下自己解决了这个问题

以下是我如何获得所需结果的

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

如果只是一个“MyOtherScript”,那就很容易了。我正在尝试运行位于目录中的一系列脚本。可能最多30或40个,所以我想我可能需要一个嵌套的foreach循环?我只是在制定过程中遇到了一些问题。这也很容易。。编辑即将出现。或者您是说要运行文件夹中的所有文件?是的。文件夹中的所有文件。因此,我想从文件夹中获取childitem并从该变量运行它。我将定期从该目录中添加和删除脚本。我想您可能需要为我澄清一下。是否要在
$scripts
变量中运行脚本,或将其用作其他进程的参数?