J'ai un while($true)
avec un start-sleep -s 60
à la fin de celui-ci. L'objectif est de lancer un script. en tant qu'utilisateur différent qui parcourt une liste de serveurs, vérifie le journal des événements pour détecter les changements survenus au cours de la dernière minute et réagit en conséquence.
Puisque ma boucle while (ci-dessous) utilise la fonction -credential
pour exécuter le script en tant que quelqu'un d'autre, je suis préoccupé par les erreurs (par exemple, compte bloqué, mot de passe expiré, fichier manquant, etc).
J'ai essayé un if ($error)
et modifié le nom de fichier du script externe, mais je n'ai jamais été alerté. Je pense que c'est parce qu'il ne s'arrête jamais pour se revérifier ?
while($true) {
# Start the scan
Start-Process powershell -Credential $credentials -ArgumentList '-noprofile -command & c:\batch\02-Scan.ps1'
# Sleep 60 seconds
start-sleep -s 60
}
Je suppose que je pourrais modifier ma tâche programmée pour qu'elle s'exécute toutes les minutes, mais jusqu'à présent, cette boucle semble fonctionner à merveille. Je voudrais juste introduire un contrôle d'erreur pendant que la boucle est active.