IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Script powershell Windows


Sujet :

Windows

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2025
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2025
    Messages : 6
    Par défaut Script powershell Windows
    Bonjour.

    Quelqu’un peut m’aider afin de faire ceci :

    Voici un exemple de démarche pour créer une seule tâche (Task Scheduler) qui appelle un script PowerShell capable d’envoyer un courriel aussi bien au démarrage qu’à l’arrêt de la VM. L’idée est :
    1. Créer un script PowerShell qui accepte un paramètre lui indiquant s’il s’agit d’un démarrage ou d’un arrêt, et qui envoie alors le bon courriel.
    2. Configurer la tâche planifiée (Task Scheduler) pour se déclencher sur les deux événements (démarrage et arrêt), tout en appelant le même script mais avec un paramètre différent.

    Merci beaucoup

  2. #2
    Membre confirmé Avatar de Nsky__
    Homme Profil pro
    Ingénieur DevSecOps
    Inscrit en
    Mars 2025
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur DevSecOps
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2025
    Messages : 18
    Par défaut
    Hello,

    Tu peux utiliser ceci :

    Code : 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
    28
    29
    30
    31
    32
    33
    34
    35
    param (
        [Parameter(Mandatory = $true)]
        [ValidateSet("start", "stop")]
        [string]$Action
    )
    
    # Configuration de l'email
    $smtpServer = "smtp.votre-serveur.com"
    $smtpPort = 587
    $smtpUser = "utilisateur@domaine.com"
    $smtpPassword = "votre-mot-de-passe"
    $from = "utilisateur@domaine.com"
    $to = "destinataire@domaine.com"
    
    # Corps et sujet du message selon l'action
    switch ($Action) {
        "start" {
            $subject = "Notification de démarrage"
            $body = "Le système a démarré à $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')."
        }
        "stop" {
            $subject = "Notification d'arrêt"
            $body = "Le système a été arrêté à $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')."
        }
    }
    
    # Création des informations d'identification
    $securePassword = ConvertTo-SecureString $smtpPassword -AsPlainText -Force
    $credential = New-Object System.Management.Automation.PSCredential($smtpUser, $securePassword)
    
    # Envoi de l'email
    Send-MailMessage -From $from -To $to -Subject $subject -Body $body -SmtpServer $smtpServer -Port $smtpPort -UseSsl -Credential $credential
    
    Write-Host "Email envoyé avec succès pour l'action : $Action"
    Il est appelable via "tonScript.ps1 -Action start" ou "tonScript.ps1 -Action stop".

    Par contre si tu parles de VM, je te conseillerai d'avoir cette logique plutôt côté hyperviseur que dans la VM même (ou en plus*). Le fait d'envoyer un mail via script intra vm ne peut pas t'assurer que celle-ci est définitivement cut du point de vue de l'hyperviseur. Ca peut t'éviter des comportements erratiques en t'assurant que la VM est bien "Online" ou "OFF".

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2025
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2025
    Messages : 6
    Par défaut
    Bonjour et merci pour ton retour ^^

    Voici le message d'erreur que je recois :

    Send-MailMessage : Impossible de se connecter au serveur distant
    Au caractère C:\Users\Admin07\Desktop\script.ps1:32 : 1
    + Send-MailMessage -From $from -To $to -Subject $subject -Body $body -S ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation : (System.Net.Mail.SmtpClient:SmtpClient) [Send-MailMessage], SmtpExcep
    tion
    + FullyQualifiedErrorId : SmtpException,Microsoft.PowerShell.Commands.SendMailMessage


    ********************************************

    Le scriot que j'ai utilisé est celui-ci :



    param (
    [Parameter(Mandatory = $true)]
    [ValidateSet("start", "stop")]
    [string]$Action
    )

    # Configuration de l'email
    $smtpServer = "smtp.live.com"
    $smtpPort = 587
    $smtpUser = "XXX@hotmail.com"
    $smtpPassword = "XXX"
    $from = "XXX@hotmail.com"
    $to = "XXXX@hotmail.com"

    # Corps et sujet du message selon l'action
    switch ($Action) {
    "start" {
    $subject = ": Arrêt ou démarrage"
    $body = "Le système a démarré à $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')."
    }
    "stop" {
    $subject = "Notification d'arrêt"
    $body = "Le système a été arrêté à $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')."
    }
    }

    # Création des informations d'identification
    $securePassword = ConvertTo-SecureString $smtpPassword -AsPlainText -Force
    $credential = New-Object System.Management.Automation.PSCredential($smtpUser, $securePassword)

    # Envoi de l'email
    Send-MailMessage -From $from -To $to -Subject $subject -Body $body -SmtpServer $smtpServer -Port $smtpPort -UseSsl -Credential $credential

    Write-Host "Email envoyé avec succès pour l'action : $Action"



    Corp du message:il doit y avoir les informations suivantes:Nom de la VMAdresse IP de la VM.

    Merci pour ton aide :-)

  4. #4
    Membre confirmé Avatar de Nsky__
    Homme Profil pro
    Ingénieur DevSecOps
    Inscrit en
    Mars 2025
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur DevSecOps
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2025
    Messages : 18
    Par défaut
    L'erreur que tu as c'est que le serv SMTP n'est pas joignable.

    Essaye plutôt "smtp-mail.outlook.com", juste pour vérifier que c'est ok de ce côté là ^^

    Pour le script, tu peux ajouter//modifier ces éléments en plus :

    Code : 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
    28
    29
    30
    31
    32
    33
    // Ta conf SMTP
    
    # Récupération des infos système
    $hostname = $env:COMPUTERNAME
    $ip = (Get-NetIPAddress -AddressFamily IPv4 |
           Where-Object { $_.InterfaceAlias -notlike "*Loopback*" -and $_.IPAddress -notlike "169.*" -and $_.IPAddress -ne "127.0.0.1" } |
           Select-Object -First 1 -ExpandProperty IPAddress)
    
    
    # Corps et sujet du message selon l'action
    switch ($Action) {
        "start" {
            $subject = "Notification de démarrage"
            $body = @"
    Le système a démarré à $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss').
    
    Nom de la machine : $hostname
    Adresse IP : $ip
    "@
        }
        "stop" {
            $subject = "Notification d'arrêt"
            $body = @"
    Le système a été arrêté à $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss').
    
    Nom de la machine : $hostname
    Adresse IP : $ip
    "@
        }
    }
    
    // Le reste :)

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2025
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2025
    Messages : 6
    Par défaut
    Toujours un souci, je ne comprends pas...


    Send-MailMessage : Le serveur SMTP requiert une connexion sécurisée ou le client n'était pas authentifié. La réponse
    du serveur était: 5.7.57 Client not authenticated to send mail. Error: 535 5.7.139 Authentication unsuccessful, basic
    authentication is disabled. [AM0PR02CA0029.eurprd02.prod.outlook.com 2025-03-29T14:23:17.880Z 08DD6E9E86BE973A]
    Au caractère C:\Users\Admin07\Desktop\script.ps1:49 : 1
    + Send-MailMessage -From $from -To $to -Subject $subject -Body $body -S ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation : (System.Net.Mail.SmtpClient:SmtpClient) [Send-MailMessage], SmtpExcep
    tion
    + FullyQualifiedErrorId : SmtpException,Microsoft.PowerShell.Commands.SendMailMessage

  6. #6
    Membre confirmé Avatar de Nsky__
    Homme Profil pro
    Ingénieur DevSecOps
    Inscrit en
    Mars 2025
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur DevSecOps
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2025
    Messages : 18
    Par défaut
    Est-ce que tu as du 2FA activé sur ton compte sensé envoyer des mails ?
    Si oui, tu dois passer par "https://account.live.com/proofs/Manage" pour créer un pass d'application, à remplacer dans smtpPassword

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2025
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2025
    Messages : 6
    Par défaut
    Oui je l'ai activé mais tjrs le même message d'erreur...

  8. #8
    Membre confirmé Avatar de Nsky__
    Homme Profil pro
    Ingénieur DevSecOps
    Inscrit en
    Mars 2025
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur DevSecOps
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2025
    Messages : 18
    Par défaut
    Citation Envoyé par Sandrine07 Voir le message
    Oui je l'ai activé mais tjrs le même message d'erreur...
    Tu as généré un password applicatif en ayant suivi le lien ? Comme tu ne l'as pas confirmé ? 😅

  9. #9
    Nouveau membre du Club
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2025
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2025
    Messages : 6
    Par défaut
    Oui je l’ai généré

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/09/2023, 07h15
  2. script arrêt windows xp pro
    Par ylarvor dans le forum Windows XP
    Réponses: 4
    Dernier message: 19/04/2007, 21h06
  3. Execution de script sous windows
    Par vinzzzz dans le forum Général Python
    Réponses: 5
    Dernier message: 26/09/2006, 19h55
  4. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 22h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo