Bonjour
(Je suis totalement débutant en powershell)
Je dois faire un script powershell avec arguments, en gros le script doit vérifier un dossier et si un nouveau fichier a été placé dans ce dossier il doit envoyer automatiquement un mail.
Ce script doit être géré par une tâche planifiée
Le script :
Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 #Chemin du dossier $arg2="C:\testpowershell" #mail destinataire $arg3='xxx' #Mail de l'envoyeur $arg4='xxx' #Sujet du mail $arg5='testing' #Corps du mail $arg6='Nouveau document !' #SMTP Serveur $arg7='xxx' if( (Get-ChildItem -path "$arg2").count -ge 1) { Send-MailMessage -to $arg3 -From $arg4 -Subject $arg5 -Body $arg6 -SmtpServer $arg7 -Encoding UTF8 }
Voici maintenant mes arguments dans la tâche planifiée : -Command "& C:\Scripts\officielbeta.ps1 ".
La tâche marche nickel je reçois bien un mail quand un nouveau fichier est créé.
Cependant je souhaiterais qu’au lieu de modifier directement en dur les infos dans le script (par exemple le chemin du dossier à surveiller) je modifie directement en argument dans la tâche planifiée
J’aimerais donc que par exemple si je mets en argument dans la tâche : -Command "& C:\Scripts\officielbeta.ps1 -arg5 'test' " que le sujet du mail ne soit pas "testing" mais "test"
Ceci afin de pouvoir appliquer plusieurs tâches au même script sans avoir à toucher au script
Cependant ça ne fonctionne pas, je reçois toujours ce qu'il y a dans le script
Pourriez-vous m'éclaircir ?
Merci
Partager