5.4. Création de nouveaux messages

5.4.1. Création d’un message IDERI note à l’aide de paramètres

Une façon de créer un nouveau message IDERI note dans PowerShell consiste à utiliser le CmdLet New-iNoteMessage. Nous pouvons l’utiliser en spécifiant toutes les informations obligatoires et facultatives pour un nouveau message à l’aide de ses paramètres. Pour obtenir une liste de tous les paramètres pris en charge par la CmdLet, nous pouvons utiliser la CmdLet Get-Help. Le jeu de résultats de cette commande sera assez exhaustif, mais vous donnera un aperçu complet des fonctionnalités disponibles.

PS> Get-Help -Name New-iNoteMessage -Parameter *

Nous créons maintenant en fait un nouveau message : Le message doit désormais être valide pendant deux heures, doit avoir la catégorie ‘Information’ et doit être adressé aux utilisateurs Active Directory® avec le nom d’utilisateur Albert.Tross, Eva.Smith et Arno.Nym. Pour cela, nous exécutons la commande suivante :

PS> New-iNoteMessage -Text "Mon message de PowerShell." `
    -StartTime (Get-Date) `
    -EndTime (Get-Date).AddHours(2) `
    -Priority INFORMATION `
    -Recipient "Albert.Tross","Eva.Smith","Arno.Nym" `
    -ShowPopup


Index                  : 2
Text                   : Mon message de PowerShell.
Priority               : Information
StartTime              : 8/3/2023 8:28:52 AM
EndTime                : 8/3/2023 10:28:52 AM
LinkText               :
LinkTarget             :
ShowLinkMaximized      : False
Recipient              : {NOTE\eva.smith, NOTE\albert.tross, NOTE\Arno.Nym}
Exclude                : {}
AddressingMode         : UserOnly
ShowPopup              : True
ShowTicker             : False
ShowFullscreen         : False
ShowFullscreenAndLock  : False
NotifyReceive          : False
NotifyAcknowledge      : False
ShowOnWinLogon         : False
ShowOnWinLogonOnly     : False
HomeOfficeUsersOnly    : False
HomeOfficeUsersExclude : False

Une fois le message créé avec succès, l’objet message représentant le message sera renvoyé avec toutes ses propriétés.

5.4.2. Créer un nouveau message IDERI note utilisant un objet prédéfini

Une autre façon d’ajouter un nouveau message est de spécifier d’abord un nouvel objet de message, puis de le transmettre à New-iNoteMessage.

Dans l’exemple suivant, nous voulons créer un message avec la catégorie ‘Avertissement’ qui est valable à partir de maintenant pendant une heure et est adressé à l’utilisateur Albert.Tross et le groupe GRP_IDERI_IT Active Directory®. Le message ne doit être affiché que dans la bannière défilante IDERI note et doit être envoyé aux utilisateurs et aux ordinateurs.

PS> $newMsg = [Ideri.Note.Message]::new($IDERInoteServerSession)
PS> $newMsg.Text = "Nouveau message de PS, créé à partir d'un objet."
PS> $newMsg.Priority = [Ideri.Note.Priority]::Warning
PS> $newMsg.StartTime = (Get-Date)
PS> $newMsg.EndTime = (Get-Date).AddHours(1)
PS> $newMsg.AddRecipient(@("Albert.Tross","GRP_IDERI_IT"))
PS> $newMsg.ShowTicker = $true
PS> $newMsg.AddressingMode = [Ideri.Note.AddressingMode]::UserAndComputer
PS>
PS> New-iNoteMessage -MessageObject $newMsg


Index                  : 3
Text                   : Nouveau message de PS, créé à partir d'un objet.
Priority               : Warning
StartTime              : 8/3/2023 8:32:24 AM
EndTime                : 8/3/2023 9:32:24 AM
LinkText               :
LinkTarget             :
ShowLinkMaximized      : False
Recipient              : {NOTE\Albert.Tross, NOTE\GRP_IDERI_IT}
Exclude                : {}
AddressingMode         : UserAndComputer
ShowPopup              : False
ShowTicker             : True
ShowFullscreen         : False
ShowFullscreenAndLock  : False
NotifyReceive          : False
NotifyAcknowledge      : False
ShowOnWinLogon         : False
ShowOnWinLogonOnly     : False
HomeOfficeUsersOnly    : False
HomeOfficeUsersExclude : False

L’exemple ci-dessus exemple montre la création d’un nouvel objet de type Ideri.Note.Message dont les propriétés sont ensuite définies sur leurs valeurs souhaitées avant de finalement passer l’objet au New-iNoteMessage CmdLet afin de créer le message.

5.4.3. Copier un message existant

Le paramètre ‘-MessageObject’ de New-iNoteMessage accepte également les valeurs canalisées. Donc si vous voulez par exemple copier un message existant et en créer un nouveau, vous pouvez utiliser le CmdLet Get-iNoteMessage et rediriger sa sortie vers New-iNoteMessage.

PS> Get-iNoteMessage -Index 1 | New-iNoteMessage


Index                  : 4
Text                   : Ceci est un message test.
Priority               : Information
StartTime              : 8/3/2023 8:15:00 AM
EndTime                : 8/3/2023 2:30:00 PM
LinkText               :
LinkTarget             :
ShowLinkMaximized      : False
Recipient              : {NOTE\eva.smith, NOTE\albert.tross}
Exclude                : {}
AddressingMode         : UserAndComputer
ShowPopup              : True
ShowTicker             : False
ShowFullscreen         : False
ShowFullscreenAndLock  : False
NotifyReceive          : False
NotifyAcknowledge      : True
ShowOnWinLogon         : False
ShowOnWinLogonOnly     : False
HomeOfficeUsersOnly    : False
HomeOfficeUsersExclude : False

L’exemple ci-dessus exemple montre que le contenu du message avec l’index 1 a été copié et un nouveau message avec l’index 4 a été créé à partir de celui-ci. Bien entendu, toutes les propriétés ne seront pas copiées une à une. L’Index, CreationTime ou MessageOwner du message sera initialisé avec des valeurs différentes.