对PowerShell来说很新,只是在这里玩一些代码但遇到了一些我无法找到答案的东西。我有一个函数,它获取包含服务器名称和服务名称的$ serverList,并返回具有每个服务状态的输出。我有一个循环运行每隔几秒钟,但只有第一次运行的函数包含列牧师,之后我只获取数据,没有标题。这是什么交易!
Function ServiceStatus()
{
$objOutput = @()
foreach ($objRecord in $serverList)
{
$obj = New-Object System.Object
$serviceStatus = get-service -ComputerName $objRecord.Server -Name $objRecord.Service
$obj | Add-Member -membertype NoteProperty -name Server -value $objRecord.Server
$obj | Add-Member -membertype NoteProperty -name Service -value $objRecord.Service
$obj | Add-Member -membertype NoteProperty -name Status -value $serviceStatus.status
Write-Output $obj
}
}
For(;;)
{
$currentDate = Get-Date
clear-host
Write-Host Service Checked: $currentDate
ServiceStatus
Start-Sleep -Milliseconds 5000
}
答案 0 :(得分:2)
循环时,默认行为是仅附加没有标题的数据。
PS:> while (1) { Start-Sleep 1; get-process powershell}
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
487 34 100608 107400 636 8.07 4916 powershell
450 34 100632 107824 636 8.08 4916 powershell
450 34 100632 107872 636 8.08 4916 powershell
452 34 100948 108188 636 8.08 4916 powershell
450 34 101264 108504 636 8.08 4916 powershell
如果需要标题,请指定格式。
PS:> while (1) { Start-Sleep 1; get-process powershell|ft}
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
512 34 102592 106756 636 8.16 4916 powershell
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
463 34 103164 107340 636 8.17 4916 powershell