我正在测试一个向powershell传入一组项的进程,我在使用ScriptBlock时遇到了困难。我创建了一个测试函数:
function TEST
{
$ScriptBlock =
{
param (
$BackupPath ="Z:\1\2\",
[array]$DBN, #= @("1", "2", "3"),
$ServerInstance = "10.10.10.10"
)
Foreach ($DBName in $DBN)
{
write-host "$($DBName)"
}}}然后我调用这个函数:
$DBN = @("1", "2", "3")
TEST -ArgumentList (,$DBN)我尝试了各种方法,但它不能遍历并返回结果。在这样的函数中,任何关于ScriptBlock的帮助都会很有用。谢谢!
发布于 2014-04-12 05:40:06
这应该会实现您想要的结果:
# Declare the function
function Test-Array {
[CmdletBinding()]
param (
[string[]] $DBN
)
foreach ($DBName in $DBN) {
Write-Host -Object $DBName;
}
}
# Call the function
$DBN = @('1', '2', '3');
Test-Array -DBN $DBN;https://stackoverflow.com/questions/23022938
复制相似问题