J'essaie de changer la couleur de la sortie de l'hôte d'écriture en fonction de la propriété lastrunoutcome des travaux SQL Server dans Powershell .... comme dans ... si un travail a été réussi, la sortie de lastrunoutcome est "Succès" en vert .... en cas d'échec, puis "Échec" en rouge. J'ai le script qui fonctionne pour obtenir le statut de travail désiré ... Je ne sais pas comment changer les couleurs.Modifier la couleur de sortie de l'hôte en fonction du résultat de foreach if elseif dans Powershell
Voici ce que j'ai jusqu'à présent:
# 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
{}
}
}
Cela semble être le plus proche, je suis devenu ... mais il me donne une erreur de « » LastRunOutcome « est une propriété ReadOnly ».
Toute aide serait grandement appréciée!
Merci!
Emo
Si je change le code de « = » à « eq » Je viens de l'erreur « Le terme « -forgroundcolor » est pas reconnu comme le nom d'une applet de commande, fonction, fichier script ou un programme utilisable. " – Emo
Je sais que -eq est un argument comparatif, cela ne fonctionne pas ici – Emo
Eh bien ... diable ... Je ne sais pas..ignore mes deux derniers commentaires LOL! – Emo