我有一個函數傳遞的ntp-server數組來循環。這是發生了什麼:傳遞一個字符串數組和foreach循環不工作:沒有數組,但一個字符串?
$srvA = @(
'0.at.pool.ntp.org',
'1.at.pool.ntp.org',
'2.at.pool.ntp.org',
'3.at.pool.ntp.org'
)
Function Get-NtpTime {
param($srvList)
$srvList
$nSrv = $srvList.Length
foreach ($Server in $srvList) {
$nSrv--
Write-Host $Server $nSrv
}
}
Get-NtpTime $srvA
0.at.pool.ntp.org 1.at.pool.ntp.org 2.at.pool.ntp.org 3.at.pool.ntp.org
0.at.pool.ntp.org 1.at.pool.ntp.org 2.at.pool.ntp.org 3.at.pool.ntp.org 70
正如你看到的$ srvList似乎是一個不SRING字符串數組和
$服務器不是一個單一的服務器,但所有和長度爲70不是4
的數組的定義似乎不正確,但是爲什麼以及如何? (我試過版本的1行陣列 - 沒有區別)
您運行的是哪個版本的PowerShell?運行你在v4上展示的確切代碼,我會得到預期的結果,而不是你得到的結果。 – TheMadTechnician 2014-09-02 19:14:15
@TheMadTechnician我不知道版本,但這是非常基本的? – gooly 2014-09-02 19:22:16
我得到了解決方案 - 我只好重新啓動ISE - 很有趣。 – gooly 2014-09-02 19:23:49