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

Scripts/Batch Discussion :

Besoin d'un script Powershell pour imprimer des pièces jointes d'e-mails Outlook


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien Systèmes et Réseaux
    Inscrit en
    Octobre 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Systèmes et Réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2022
    Messages : 2
    Par défaut Besoin d'un script Powershell pour imprimer des pièces jointes d'e-mails Outlook
    Bonjour à tous !

    Je suis nouveau sur Powershell et j'ai besoin d'aide pour essayer de créer un script.


    J'ai comme projet de mettre en place une impression automatique de pièces jointes Outlook et je voudrais que toutes les pièces jointes des mails que j'ai reçu, s'imprimes automatiquement à 4h du matin.


    J'ai cherché et je n'ai rien jusqu'à présent qui me semble correct...


    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Novembre 2004
    Messages : 388
    Par défaut
    Bonjour,

    Faite une tentative avec ça :
    (faudra soit changer la valeur de "Livraison" avec un autre nom d'un des dossier outlook, ou en faire la creation)



    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
    $DossierOutlook = "Livraisons"
    
    Add-type -assembly "Microsoft.Office.Interop.Outlook" | out-null
    $olFolders = "Microsoft.Office.Interop.Outlook.olDefaultFolders" -as [type]
    $outlook = new-object -comobject outlook.application
    $namespace = $outlook.GetNameSpace("MAPI")
    
    $BoiteDeReception = $namespace.GetDefaultFolder([Microsoft.Office.Interop.Outlook.olDefaultFolders]::olFolderInbox)
    $DestinationFolder = $BoiteDeReception.Folders.Item($DossierOutlook)
    
    #
    # Recupere tous les mails qui n'ont pas été lu
    #
    $ItemMails = $BoiteDeReception.Items | ? {$_.UnRead -eq $true }
    #$ItemMails = $BoiteDeReception.Items | ? {$_.UnRead -eq $false }
    $ItemMails = $ItemMails | ? {$_.Attachments.FileName -match "xlsx" }
    
    Foreach($item in $ItemMails.Attachments)
    {
        #
        # Move le mail dans le dossier "Livraisons" outlook
        #
    
        $Item.SaveAsFile( "C:\xlsx\$($item.FileName)")
        Start-Process -FilePath "C:\xlsx\$($item.FileName)" –Verb Print 
        $item.Move($DestinationFolder)
    }
    
    

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien Systèmes et Réseaux
    Inscrit en
    Octobre 2022
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Systèmes et Réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2022
    Messages : 2
    Par défaut
    Bonjour,

    Merci pour votre réponse.

    Pouvez-vous m'expliquer un peu (pas forcément en détail) les lignes du code svp ? J'aimerai comprendre ce que je fait et ne pas faire bêtement un copier-coller

  4. #4
    Membre éprouvé
    Avatar de troxsa
    Inscrit en
    Novembre 2004
    Messages
    388
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Novembre 2004
    Messages : 388
    Par défaut
    re Bonjour,

    Voici :

    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
    # Le mail qui contient une piece jointe xlsx  sera déplacé dans le dossier "Livraisons" (penser a faire un changement)
    $DossierOutlook = "Livraisons"
    
    # Appel des méthodes pour les automations d'Outlook
    Add-type -assembly "Microsoft.Office.Interop.Outlook" | out-null
    $olFolders = "Microsoft.Office.Interop.Outlook.olDefaultFolders" -as [type]
    $outlook = new-object -comobject outlook.application
    $namespace = $outlook.GetNameSpace("MAPI")
    
    
    # Recuperation de l'option "Boite de receptions"
    $BoiteDeReception = $namespace.GetDefaultFolder([Microsoft.Office.Interop.Outlook.olDefaultFolders]::olFolderInbox)
    $DestinationFolder = $BoiteDeReception.Folders.Item($DossierOutlook)
    
    
    
    # Récupére tous les mails qui n'ont pas été lu
    $ItemMails = $BoiteDeReception.Items | ? {$_.UnRead -eq $true }
    
    # Filtre les mails qui contient une piece jointe portant l'extension xlsx, il est possible de faire le filtre dans le foreach pour le traitement de plusieurs formats de fichiers
    $ItemMails = $ItemMails | ? {$_.Attachments.FileName -match "xlsx" }
    
    Foreach($item in $ItemMails.Attachments)
    {
        # Sauvegarde du fichier dans un dossier local a l'ordinateur
        $Item.SaveAsFile( "C:\xlsx\$($item.FileName)")
        # impression du fichier
        Start-Process -FilePath "C:\xlsx\$($item.FileName)" –Verb Print 
        # Deplacement du fichier dans le dossier "Livraisons"
        $item.Move($DestinationFolder)
    }
    

Discussions similaires

  1. [PowerShell] Script PowerShell pour déplacer des répertoires vers une nouvelle arborescence
    Par enki31 dans le forum Scripts/Batch
    Réponses: 50
    Dernier message: 03/01/2020, 10h09
  2. [SP-2010] Script Powershell pour récupérer des données
    Par jip31 dans le forum SharePoint
    Réponses: 1
    Dernier message: 28/04/2015, 14h21
  3. Réponses: 3
    Dernier message: 10/02/2014, 20h41
  4. [XL-2010] Macro Excel pour envoyer des pièces jointes par mail
    Par benadry dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/10/2013, 18h12
  5. Réponses: 1
    Dernier message: 01/02/2008, 20h44

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