【发布时间】:2011-02-12 11:26:15
【问题描述】:
我正在尝试根据 Powershell 中 SQL Server 作业的 lastrunoutcome 属性更改写入主机输出的颜色...如...如果作业成功,lastrunoutcome 的输出为“成功”绿色....如果失败,则“失败”为红色。我的脚本正在工作以获得所需的工作状态...我只是不知道如何更改颜色。
这是我目前所拥有的:
# Check for failed SQL jobs on multiple servers
[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Smo") | out-null
foreach ($svr in get-content "C:\serverlist2.txt")
{
$a = get-date
$BegDate = (Get-Date $a.AddDays(-1) -f d) + " 12:00:00 AM"
$BegDateTrans = [system.datetime]$BegDate
write-host $svr
$srv=New-Object "Microsoft.SqlServer.Management.Smo.Server" "$svr"
$srv.jobserver.jobs | where-object {$_.lastrundate -ge $BegDateTrans -and $_.Name -notlike "????????-????-????-????-????????????"} | format-table name,lastrunoutcome,lastrundate -autosize
foreach ($_.lastrunoutcome in $srv.jobserver.jobs)
{
if ($_.lastrunoutcome = 0)
{
-forgroundcolor red
}
else
{}
}
}
这似乎是我得到的最接近的...但它给了我一个错误““LastRunOutcome”是一个只读属性。”
任何帮助将不胜感激!
谢谢!
情绪
【问题讨论】:
标签: sql-server powershell-2.0 foreach