5.4. Neue Nachrichten anlegen

5.4.1. Anlegen einer neuen IDERI note Nachrichten mit Hilfe von Parametern

Ein Weg, um eine neue IDERI note Nachricht mit PowerShell anzulegen, besteht in der Verwendung des CmdLets New-iNoteMessage. Dieses CmdLet kann unter Angabe aller Pflichtparameter und optionaler Parameter für das Anlegen einer neuen Nachricht eingesetzt werden. Um eine Liste aller Parameter zu erhalten, die das CmdLet unterstützt, kann das CmdLet Get-Help verwendet werden. Die Ergebnismenge dieses Kommandos wird zwar sehr umfangreich sein, erlaubt dafür aber einen vollständigen Überblick über die verfügbare Funktionalität.

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

Damit kann nun eine neue Nachricht erzeugt werden. Die Nachricht in unserem Beispiel sei dabei gültig von jetzt an für zwei Stunden, soll die Priorität ‘Information’ erhalten und an die Benutzer mit dem Benutzernamen Albert.Tross, Eva.Smith and Arno.Nym im Active Directory® gerichtet sein. Dazu wird nun folgendes Kommando ausgeführt:

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


Index                  : 2
Text                   : Meine Nachricht aus 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

Nachdem die Nachricht erfolgreich angelegt wurde, wird das Nachrichtenobjekt, das die Nachricht repräsentiert, mit seinen Eigenschaften zurückgegeben.

5.4.2. Anlegen einer neuen IDERI note Nachricht mit Hilfe eines vordefinierten Objekts

Ein anderer Weg, eine neue Nachricht zu erzeugen, besteht darin, zuerst ein neues Nachrichtenobjekt zu erzeugen, das anschliessend an New-iNoteMessage übergeben wird.

Im folgenden Beispiel möchten wir eine Nachricht mit der Priorität ‘Warnung’ anlegen, die von jetzt an gültig sei für eine Stunde und an den Active Directory® Benutzer Albert.Tross und die Gruppe GRP_IDERI_IT gerichtet sei. Die Nachricht soll nur im IDERI note Ticker erscheinen und sowohl an Benutzer als auch an Computer gerichtet sein.

PS> $newMsg = [Ideri.Note.Message]::new($IDERInoteServerSession)
PS> $newMsg.Text = "Neue Nachricht aus PS, aus einem Objekt erzeugt."
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                   : Neue Nachricht aus PS, aus einem Objekt erzeugt.
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

Das hier gezeigte Beispiel demonstriert die Erzeugung eines neuen Objekts vom Typ Ideri.Note.Message mit dem anschliessenden Setzen der gewünschten Nachrichteneigenschaften, bevor schliesslich das Objekt dem CmdLet New-iNoteMessage übergeben wird, um daraus dann die Nachricht anzulegen.

5.4.3. Kopieren einer existierenden Nachricht

Der Parameter ‘-MessageObject’ von New-iNoteMessage akzeptiert auch mit Pipe verkettete Werte. Will man also beispielsweise eine existierende Nachricht kopieren und eine neue Nachricht daraus erzeugen, kann das CmdLet Get-iNoteMessage verwendet werden, dessen Ergebnis mit einer Pipe an New-iNoteMessage übergeben wird.

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


Index                  : 4
Text                   : Das ist eine Testnachricht.
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

Das obige Beispiel zeigt, dass der Inhalt der Nachricht mit dem Nachrichtenindex 1 kopiert und daraus eine neue Nachricht mit Nachrichtenindex 4 angelegt wurde. Dabei werden natürlich nicht alle Nachrichteneigenschaften eins-zu-eins kopiert. Der Nachrichtenindex, der Anlegezeitpunkt und der Besitzer der Nachricht werden selbstverständlich mit passenden anderen Werten initialisiert.