【发布时间】:2020-01-15 11:33:58
【问题描述】:
我对 PowerShell 脚本相当陌生。我创建了一个非常简单的脚本,它通过管道传输几个命令并在屏幕上以不同的颜色显示不同的结果。 我想获取屏幕上的数据并将其全部放入一个 txt 文件中,最终我将用于 Zabbix 警报。
脚本执行并创建 txt 文件,但 txt 文件为空。 任何帮助都会很棒!
代码:
Get-MailboxServer | Get-MailboxDatabaseCopyStatus | ForEach {
if ($_.Status.ToString() -notmatch "Mounted" -or $_.ContentIndexState.ToString() -notmatch "Healthy") {
Write-Host "$($_.Name) - $($_.Status) - $($_.ContentIndexState) - OK" -ForegroundColor Green
} else {
Write-Host "$($_.Name) - $($_.Status) - $($_.ContentIndexState) - FAILED" -ForegroundColor Red
}
} | Set-Content | Out-File c:\scripts\exchangedb.log
【问题讨论】:
-
Write-Host 只输出到屏幕,它不存储任何要通过管道传输到 txt 文件的数据。
-
另外,
Set-Content | Out-File没有意义。使用其中之一。
标签: powershell if-statement foreach