stevedn
Goto Top

Exchange Management Shell vs Taskscheduler: Unterschiedliche Ergebnisse Exchange Management Shell vs Tasksceduler

Hallo zusammen,

bin gerade auf ein mir unerklärliches Pänomen gestoßen.

Unser AD hat für jeden Standort eine OU die wie das Standortkürzel benannt ist.
In diesen OUs gibt es dynamische Verteilgruppen á la "ALL DE BERLIN".

Wenn ich nun auf dem Exchange in der Management Shell folgenden Befehl ausführe bekomme ich eine komplette CSV-Datei über alle dynamischen Verteillisten inkl. Gruppenmittglieder und deren E-Mail-Adresse.
foreach ($group in (Get-DynamicDistributionGroup)){Get-Recipient -RecipientPreviewFilter $group.RecipientFilter -OrganizationalUnit $group.RecipientContainer | Select DisplayName,PrimarySmtpAddress,@{n="Group";e={$group.name}} | Export-Csv "\DFS-Pfad\Verteillisten.csv" -Delimiter ";"}  

Soweit so gut...

Möchte ich dies aber nun per Task Scheduler automatisieren bekomme ich in dieser CSV-Datei nur die Mitglieder der ersten OU angezeigt.

Aufgerufen wird das Script im Taskscheduler unter Actions mit "Start a programm" > Program/script "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" > Arguments "-NonInteractive -WindowStyle Hidden -command ". 'C:\Program Files\Microsoft\Exchange Server\V15\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto;C:\Scripte\createVerteillistenTable.ps1"

Selbst wenn ich das Script über die Exchange Management Shell starte bekomme ich nur das Teilergebnis.

Jemand eine Idee was ich falsch mache?

LG Steve

Content-ID: 394532

Url: https://administrator.de/contentid/394532

Ausgedruckt am: 22.11.2024 um 03:11 Uhr

137846
137846 03.12.2018 aktualisiert um 13:40:18 Uhr
Goto Top
"\DFS-Pfad\Verteillisten.csv"
Hier wird für jede Gruppe immer die selbe Datei erstellt, also immer wieder überschrieben, weil das Export-Csv innerhalb der FOR-EACH-Schleife sitzt face-wink.
SteveDN
SteveDN 03.12.2018 um 13:38:35 Uhr
Goto Top
Hi,

ja es wird eine Datei erzeugt in der alle Verteillistenmitglieder aufgelistet sind. Diese soll jeden Sonntag überschrieben werden.
137846
137846 03.12.2018 aktualisiert um 13:40:09 Uhr
Goto Top
Zitat von @SteveDN:

Hi,

ja es wird eine Datei erzeugt in der alle Verteillistenmitglieder aufgelistet sind. Diese soll jeden Sonntag überschrieben werden.
Les meine Antwort nochmal genau ... die Position des Export-CSV ist falsch, die überschreibt immer wieder für jede Gruppe die CSV.
SteveDN
SteveDN 03.12.2018 um 13:40:40 Uhr
Goto Top
Aso...Sry..

Probiere ich mal aus...aber warum funktioniert das in der Direkteingabe anders?
137846
Lösung 137846 03.12.2018 aktualisiert um 14:39:10 Uhr
Goto Top
Zitat von @SteveDN:
Probiere ich mal aus...aber warum funktioniert das in der Direkteingabe anders?
Tut es nicht.
Get-DynamicDistributionGroup | %{$group = $_; Get-Recipient -RecipientPreviewFilter $_.RecipientFilter -OrganizationalUnit $_.RecipientContainer | Select DisplayName,PrimarySmtpAddress,@{n="Group";e={$group.name}}} | Export-Csv "\DFS-Pfad\Verteillisten.csv" -Delimiter ";" -NoType -Encoding UTF8  
SteveDN
SteveDN 03.12.2018 aktualisiert um 14:00:51 Uhr
Goto Top
OK. Du hast Recht. Ich bin iwo in der Shell durcheinander gekommen. Dennoch scheint es so, dass durch die dritte } der Gruppenname nicht schreibt.

Habe zwar die Überschrift Group in der Spalte aber keine Namen =(

Bzw. der Export Pipe scheint das Problem zu sein. Lass ich den weg in der Shell bekomm ich auch die gruppennamen angezeigt.
137846
Lösung 137846 03.12.2018 aktualisiert um 14:13:23 Uhr
Goto Top
Nöp, geht hier einwandfrei. Ist eine einfach Foreach-Schleife in der die Properties für jede Gruppe ausgegeben werden und anschließend alle in die CSV wandern, bei dir wird nur immer eine Gruppe im File weil ich ja schon geschrieben habe das dein Export-CSV in der Schleife steht und das File immer wieder überschrieben wird, nicht außerhalb um alle Gruppen zu erfassen.
SteveDN
SteveDN 03.12.2018 um 14:23:33 Uhr
Goto Top
Naja wie ich bereits sagte. Du hast recht.

Jedenfalls habe ich mit dem Export Pipe keine Gruppennamen mehr gehabt. Habe das Export-CSV nun wieder in die Schleife mit -append gepackt und prüfe vorher ob die Datei existiert und wenn ja, wird sie halt gelöscht. So komm ich auch an mein Ziel.

Merci!