我确定这是一个愚蠢的问题,但我似乎无法在函数中向数组中添加元素。
PowerShell 2.0
$jobResult = @()
function Gather-JobResults {
Param (
[Parameter(Mandatory=$true, ValueFromPipeline=$true)]
[string] $message
)
begin {}
process {
$jobResult += ([string]::Format("{0} - {1}", (Get-Date -f "yyyy-MM-dd HH:mm:ss"), $message))
Write-Host "--- Status jobResult ---> $jobResult"
}
end{}
}
Gather-JobResults("zabaaa")
Gather-JobResults("zaaaauuuuuuuul")
Gather-JobResults("winkoooo")
$jobResult
我拨打3x $jobResult
后Gather-JobResults
为空,我该如何解决此问题?
感谢您的回答
答案 0 :(得分:4)
这是一个范围问题,当你在函数中修改$ jobResult时,你不会修改在这个函数之外定义的全局变量。
你的函数里面的使用$global:jobResult += ...
(或$ script:jobResult),它应该没问题