我在本地服务器目录上有大约50个ps1脚本 - E:/ scripts /。它们具有不同的功能,用于收集服务器/应用程序统计信息等。
已更新,可添加有关脚本的更多信息
还有第二个ps1脚本 - a.ps1,我试图使用PowerShell运行它。这个a.ps1有一个定义的函数 - fn-run - 并且在执行Import-Module a.ps1
之后,它使用以下语法:
fn-run <stats collector script name> servername domainname
for example:
fn-run E:/scripts/script1.ps1 myserver localdomain
我可以使用PowerShell收集脚本文件列表,如下所示:
$i = 0
$allscripts = Get-ChildItem E:/scripts/ | where {$_.extension -eq ".ps1"} | % {
Write-Host $_.FullName
}
foreach ($script in $allscripts) {
$script,
$i++
}
这提供了E:/ scripts /目录中的完整脚本文件列表。现在,我想弄清楚如何将这些传递给 a.ps1 ..?
谢谢..
答案 0 :(得分:1)
这是你想要做的吗?
Import-Module a.ps1
$allscripts = Get-ChildItem -Path E:/scripts/ -Filter "*.ps1" | Select-Object -ExpandProperty FullName
foreach ($script in $allscripts) {
fn-run $script myserver localdomain
}