leinadgnom 0 Geschrieben 4. August 2016 Melden Teilen Geschrieben 4. August 2016 Hey Leute, wir benötigen in unserer Firma ein Powershell-Script, welches mir das Globale Adressbuch des Servers als Export per Mail verschickt. Die meisten Anwender haben Windows 7, der Exchange Server 2010 läuft auf dem Windows Server 2008. Meine Powershell hat die Version 4.0. Ich hatte schon den ein oder anderen Lösungsvorschlag im Internet gefunden, ... $filter = (Get-GlobalAddressList 'Default Global Address List').RecipientFilter Get-Recipient -RecipientPreviewFilter $filter | Where-Object {$_.HiddenFromAddressListsEnabled -ne $false} | Select-Object Name,PrimarySmtpAddress | Export-CSV c:\GAL.csv -NoTypeInformation ...jedoch wirft mir die ISE von Powershell die Anmerkung hin, dass es Befehle wie get-globalAddressList oder get-recipient gar nicht gäbe. Nach etwas Recherche ist mir aufgefallen, dass ganz viele dieses Beispiel funktionierend genommen haben, jedoch sich sonst nirgends im Internet diese Befehle finden....Fehlt mir da eine Art "Mod"? Gibt es die Befehle? Kann ich anschließend einen "@mailto:"-Befehl einfügen? Ich bin leider noch Anfänger....um eine Erklärung zu den Schritten wäre ich sehr dankbar. Mit technischem Gruß Daniel Zitieren Link zu diesem Kommentar
NorbertFe 2.045 Geschrieben 4. August 2016 Melden Teilen Geschrieben 4. August 2016 Mußt du wohl mal die Exchange Module laden. ;) Oder gleich die Exchange Powershell (die orangefarbene) starten. Zitieren Link zu diesem Kommentar
Nobbyaushb 1.472 Geschrieben 4. August 2016 Melden Teilen Geschrieben 4. August 2016 Warum willst du das machen? Die Clients holen sich das doch vom Server - jedenfalls, wenn alles stimmt. Über was für einen Exchange mit welchem STand reden wir, was für Clients? http://blog-schulenburg.de/index.php/kategorie-als-blog/87-exchange-build-nummern Und was ist das Ziel der Aktion? ;) Zitieren Link zu diesem Kommentar
leinadgnom 0 Geschrieben 4. August 2016 Autor Melden Teilen Geschrieben 4. August 2016 Version 14.3 (Build 123.4) Das Ziel der Aktion ist es, dass der Admin eine Exceltabelle mit dem Globalen Adressbuch zugeschickt bekommt. Außerdem könnte man dann weitergehen und das ganze auf einen Import erweitern. Zitieren Link zu diesem Kommentar
Sunny61 806 Geschrieben 4. August 2016 Melden Teilen Geschrieben 4. August 2016 Version 14.3 (Build 123.4) Der Exchange ist uralt, bitte unbedingt schnellstens aktualisieren: Microsoft Exchange Server 2010 SP3 RU14 14.03.0301.000 12.06.2016 Das Ziel der Aktion ist es, dass der Admin eine Exceltabelle mit dem Globalen Adressbuch zugeschickt bekommt. Außerdem könnte man dann weitergehen und das ganze auf einen Import erweitern. Funktioniert es denn mit der Ausgabe jetzt, wenn Du es direkt in der PS-Exchange-Konsole ausführst? Wenn ja, Ergebnis in eine Datei ausgeben lassen, die Datei dann verschicken. Für diese beiden Aktionen gibt es hier im Forum und im Netz sehr viel Codebeispiele. Damit solltest Du eigentlich weiterkommen. Oder fehlt noch etwas? Zitieren Link zu diesem Kommentar
leinadgnom 0 Geschrieben 4. August 2016 Autor Melden Teilen Geschrieben 4. August 2016 $filter = (Get-GlobalAddressList 'Default Global Address List').RecipientFilter Nach dieser Zeile sagt er mir, das kein "Default Global Address List" auf srvads.domain.dns gefunden werden kann....der Server auf dem das Problem ist und wo der exchserver läuft ist srvcom.domain.dns. Wie kommt der da auf unseren Domaincontroller? Zitieren Link zu diesem Kommentar
tesso 375 Geschrieben 4. August 2016 Melden Teilen Geschrieben 4. August 2016 Dann heißt deine globale Adressliste wahrscheinlich anders. Zitieren Link zu diesem Kommentar
leinadgnom 0 Geschrieben 4. August 2016 Autor Melden Teilen Geschrieben 4. August 2016 aber warum sucht er diese auf einem komplett anderen Server? Ich habe nie den AD DC Servernamen eingegeben Zitieren Link zu diesem Kommentar
NorbertFe 2.045 Geschrieben 4. August 2016 Melden Teilen Geschrieben 4. August 2016 (bearbeitet) Gib doch einfach mal ein get-globaladdresslist ein. Was kommt zurück? Stell dir vor, Exchange und AD sind quasi untrennbar miteinander verbunden. ;) bearbeitet 4. August 2016 von NorbertFe Zitieren Link zu diesem Kommentar
leinadgnom 0 Geschrieben 4. August 2016 Autor Melden Teilen Geschrieben 4. August 2016 Das kommt zurück....habe jetzt mal Globales Adressbuch eingegeben. Ein Fehler kam nicht, jedoch ist die Variable komplett leer....ist das normal? Zitieren Link zu diesem Kommentar
NorbertFe 2.045 Geschrieben 4. August 2016 Melden Teilen Geschrieben 4. August 2016 Boah screenshot für ne reine TextBox. Offenbar sind einige inzwischen doch stark optisch fixiert, anstatt den Inhalt zu kopieren. ;) Wie gut bist du denn mit Powershell unterwegs? Exchange ist offenbar auch nicht dein Steckenpferd. Ich hab das jetzt mal bei mir eingeklimpert und bekomme die gal.csv zurück. Müßte man im Zweifel natürlich nochn bisschen weiter filtern, aber egal. Da du den eigentlichen Grund für so eine Anforderung nicht verrätst, würde ich sagen, eine automatische Synchronisation mit dieser Herangehensweise ist keine gute Idee. ;) Bye Norbert Zitieren Link zu diesem Kommentar
leinadgnom 0 Geschrieben 4. August 2016 Autor Melden Teilen Geschrieben 4. August 2016 (bearbeitet) function mailing($body) { $filename = "C:\GlobalAddressbook\GAL.csv" $SmtpClient = new-object system.net.mail.smtpClient $MailMessage = New-Object system.net.mail.mailmessage $att = new-object Net.Mail.Attachment($filename) $SmtpClient.Host = "server.master.de" $mailmessage.from = "x@y.de" $mailmessage.To.add("x@y.de") $mailmessage.Subject = “Exchange Server Status” $MailMessage.IsBodyHtml = $false $mailmessage.Body = $body $mailmessage.Attachments.Add($att) $smtpclient.Send($mailmessage) } $body = "empty" mailing $body Kam weder ne Fehlermeldung noch ne Mail bearbeitet 4. August 2016 von leinadgnom Zitieren Link zu diesem Kommentar
NorbertFe 2.045 Geschrieben 4. August 2016 Melden Teilen Geschrieben 4. August 2016 Aha Zitieren Link zu diesem Kommentar
leinadgnom 0 Geschrieben 4. August 2016 Autor Melden Teilen Geschrieben 4. August 2016 Was bedeutet "Aha"? Bekommst du eine Mail, wenn du es eingibst? Weißt du wodran es liegen könnte? Zitieren Link zu diesem Kommentar
NorbertFe 2.045 Geschrieben 4. August 2016 Melden Teilen Geschrieben 4. August 2016 (bearbeitet) Du googlest dir doch offensichtlich ziemlich viel zusammen. Dann hilfts hier leider wenig, wenn du die Dinger zusammenhanglos hier reinkloppst. (Meine Meinung.) Ich bin auch kein Skripter (ich kann CPM Programmierung), aber wenn du erwartest, dass dir einer hilft, dann ist deine Variante irgendwie nicht die günstigste. Mal von deinem zusammenhanglosen Posting im msxforum.de bei dem dann die Vorgeschichte von hier fehlt. :/Ich kopier dir mal was aus einem WSUS Skript rein, bei dem im Abschluß eine Mail verschickt wird (allerdings nur der Inhalt einer Datei und nicht die Datei als Attachment). Vielleicht hilfts dir ja: # Der nachfolgende Teil ist von hier kopiert: http://gallery.technet.microsoft.com/scriptcenter/90ca6976-d441-4a10-89b0-30a7103d55db#content # Mail the report... $message = new-object Net.Mail.MailMessage $mailer = new-object Net.Mail.SmtpClient($SMTPServer) $message.From = WSUS@example.com $message.To.Add("deine@example.com") $MeinText = "WSUS - Server CleanUp Bericht " + $WSUSServer $message.Subject = $MeinText $message.Body = [string]::join([environment]::NewLine, (get-content $logfile)) $mailer.Send($message) bearbeitet 4. August 2016 von NorbertFe Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.