Le script ci-dessous va vous permettre de recevoir par mail le résultat d’une commande DSCHECK au sein de votre ferme.
Il ne reste plus qu’à mettre le script dans une tâche planifiée 😉 .
#DsCheck report V1 $farm = Get-XAFarmConfiguration $DsCheckReport = &'C:\Program Files\Citrix\System32\dscheck.exe' Foreach ($line in $DsCheckReport) { if($line -eq "") {} else {$DscheckLine += $line+"`n"} } $BodyReport += $DscheckLine #Send mail "Report DsCheck" $emailFrom = "DsCheckReport@yourDomain.fr" $emailTo = "Your Adresse Email" $subject = "DsCheck Report : "+$Farm $body = $BodyReport $smtpServer = "Your SMTP Server" $smtp = new-object Net.Mail.SmtpClient($smtpServer) $smtp.Send($emailFrom, $emailTo, $subject, $body)
Tu peux remplacer les lignes 3 à 10 par un ti oneline :
DsCheckReport = &'C:\Program Files\Citrix\System32\dscheck.exe' | where { $_ -ne "" }
OneLiner powaa :p
J’avoue 🙂
Tu peux aussi faire plus complet/bourrin et faire un dscheck /full sur les apps et les serveurs, qui génèrent le plus souvent les inconsistances de la DS.
Faut que je retrouve un vbs qui n’envoie le mail que si le check merde.
MaxB,
Ben ouais c’est carrément bourrin le /clean direct comme ça… 😉 .
Dans notre cas l’idée était de prévenir d’une erreur dans le DataStore et de planifié la correction.
Sympa l’idée de n’envoyer le mail que si une erreur est présente dans le rapport du DsCheck, thk.
Tu notes que je n’ai pas parlé de /clean :). On est bien d’accord pas de clean en automatique car backup…..
Juste ces commandes pour identifier les incohérences :
dscheck /full servers /Silent
dscheck /full apps /Silent
dscheck /full folders /Silent
dscheck /full groups /Silent
Effectivement le /clean je l’ai rêver :).