Question
Script à heure aléatoire
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
- Messages : 145
- Remerciements reçus 0
je cherche un moyen de lancer un script sur plusieurs PC, mais chacun à une heure différente entre 12h et 13h.
Je ne sais pas trop comment m'y prendre.
Pour info, c'est un simple script de sauvegarde
[code:1]copy-Item -Recurse $Source -Destination $Destination[/code:1]
Merci<br><br>Message édité par: gregmurf, à: 5/11/16 17:57
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- Broeglin Dominique
- Hors Ligne
- Nouveau membre
- Messages : 10
- Remerciements reçus 0
www.it-connect.fr/chapitres/gerer-les-ta...fiees-en-powershell/
Pour le fait de répartir les exécutions. Tu peux rendre les minutes aléatoires avec une fonction qui retourne une valeur aléatoire :
Get-Random -Minimum 0 -Maximum 60
Personnellement je n'aime pas trop les valeurs aléatoires, car dans un contexte où j'automatise les déploiement, je préfère qu'une machine donnée récupère toujours la même valeur. Ca permet de garder les choses plus stables. Du coup j'utilise plutôt une fonction de hachage sur le nom de la machine:
[math]::abs(\"HOST1\".GetHashCode() % 60)
[math]::abs(\"HOST2\".GetHashCode() % 60)
Ca me donne des valeurs réparties de 0 à 60 mais toujours la même pour une machine donnée.
Connexion ou Créer un compte pour participer à la conversation.
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
- Messages : 145
- Remerciements reçus 0
En fait, j'apporte une petite précision: nos sauvegardes sont lancées entre 12h et 12h45 en décalé pour ne pas plomber le lan.tant que get-date -DisplayHint Time n'est pas égale au get-random obtenu, tu ne fais rien.
Donc il faut que le script ne s'exécute QU'entre 12h et 12h45, et à une heure aléatoire sur chaque machine.
Est-ce que mettre mon script en tâche planifiée via GPO en ne la laissant s'exécuter que lorsque le PC est inactif serait plus judicieux ?
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
- Messages : 1778
- Remerciements reçus 21
on pense pas toujours aux taches planifiés, pourtant Microsoft l'utilise a toute les sauces et le conseil
@gregmurf
tu peut rendre le déclenchement d'une tache aléatoire, c'est prévu dans le gestionnaire de tache. inutile d'utilisé get-random
et tu a l'instruction New-ScheduledTaskTrigger qui possède l'option -RandomDelay auquel tu donne la temps du random
par contre comme tu dis tu risque d'avoir un chevauchement d'execution des scripts suivant la durée des scripts
une autre astuce serais de lancé les taches à distance sur les PC, un PC après l'autre,
tu garde le principe des taches planifié mais sans heure de declenchement et tu fais un Start-ScheduledTask toutes les 5 minutes par exemples ou en fonction de la durée moyenne des sauvegardes.<br><br>Message édité par: 6ratgus, à: 7/11/16 10:41
Connexion ou Créer un compte pour participer à la conversation.
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
- Messages : 145
- Remerciements reçus 0
salut dbroeglin et merci pour ta reponse
on pense pas toujours aux taches planifiés, pourtant Microsoft l'utilise a toute les sauces et le conseil
@gregmurf
tu peut rendre le déclenchement d'une tache aléatoire, c'est prévu dans le gestionnaire de tache. inutile d'utilisé get-random
Je ne vois pas où....
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- Toper
- Auteur du sujet
- Hors Ligne
- Membre premium
- Messages : 145
- Remerciements reçus 0
New-ScheduledTaskTrigger -RandomDelay 00:30:00 -Weekly -DaysOfWeek Monday,Wednesday,Friday -at 11:45:00
copy-Item -Force -Recurse $Source -Destination $Destination
Il me lance le copy-item immédiatement (il est 11h30)
Qu'ais-je oublié ?...
Powershell: la vie est belle
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Script à heure aléatoire