-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdvapi-powershell-basic-example.ps1
More file actions
68 lines (51 loc) · 2.63 KB
/
dvapi-powershell-basic-example.ps1
File metadata and controls
68 lines (51 loc) · 2.63 KB
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# David Ordner-Pfadvariable
$dvArchivePath = "\\servername\david\archive\user\10004000\in";
# Zeitspanne im Format m-d-Y, wobei Monat und Tage ohne führende Nullen anzugeben sind
# Im Beispiel: 1.4.2016 - 28.2.2023
# ---------------------------------------
# WICHTIG: Die Angabe der Zeitspanne muss zwingend mit doppelten Anführungszeichen erfolgen,
# sonst funktioniert es nicht; daher hier im PS Beispiel einfache Anführungszeichen zur Definition
# des Strings und darin nochmal doppelte Anführungszeichen für die Angabe des DvItemFilterBits Strings
# ---------------------------------------
$dvTimeRange = '"4-1-2016 00:00:00 - 2-28-2023 0:00:00"';
# Ausgabe der Pfadvariable zur Visualisierung bei der Skriptausführung
Write-Host "Der verwendete Pfad lautet: $dvArchivePath.";
Read-Host "Fortfahren mit Enter";
# API initialisieren
$dvApi = new-object -comobject DVOBJAPILib.DvISEApi;
# Account Objekt erzeugen
$oAcc = $dvApi.Logon('','','','','','AUTH');
# Archive Objekt erzeugen (gewünschten Pfad eintragen)
$oArchive = $oAcc.ArchiveFromID($dvArchivePath);
# Alle Einträge des Ordners als MessageItem2 einlesen
$entries = $oArchive.GetArchiveEntries("Default");
# Schleife über alle Eintrag und Ausgabe des Betreffs mit DocumentType
Write-Host "--- Ausgabe des Betreffs und DokumentTyp aller MessageItem-Typen (DvItemFilterBits Default) ---";
Write-Host;
foreach ($item in $entries) {
$output = $item.Fields('Subject').Value + " (Type: " + $item.Fields('DocumentType').Value + ")";
Write-Host $output;
}
Write-Host;
# Nur Faxe des Ordners als MessageItem2 einlesen ()
# DvItemFilterBits = DvFilterOnlyFax | String = OnlyFax
# Da die DvFilterBit-Typen in Powershell nicht funktionieren, wird die Stringvariante verwendet
$entries = $oArchive.GetArchiveEntries('OnlyFax');
# Schleife über alle eingelesenen Einträge und Ausgabe des Betreffs mit DocumentType
Write-Host "--- Ausgabe des Betreffs und DokumentTyp von Fax-Typen (DvItemFilterBits OnlyFax) ---";
Write-Host;
foreach ($item in $entries) {
$output = $item.Fields('Subject').Value + " (Type: " + $item.Fields('DocumentType').Value + ")";
Write-Host $output;
}
Write-Host;
# Alle Einträge des Ordners innerhalb einer Zeitspanne als MessageItem2 einlesen
$entries = $oArchive.GetArchiveEntries('StatusTime=' + $dvTimeRange);
# Schleife über alle Eintrag und Ausgabe des Betreffs mit DocumentType
Write-Host "--- Ausgabe des Betreffs und DokumentTyp aller MessageItem-Typen innerhalb der Zeitspanne $dvTimeRange ---";
Write-Host;
foreach ($item in $entries) {
$output = $item.Fields('Subject').Value + " (Type: " + $item.Fields('DocumentType').Value + ")";
Write-Host $output;
}
Write-Host;