Jump to content

Export Exchange List as Mail


Direkt zur Lösung Gelöst von leinadgnom,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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

Link zu diesem Kommentar

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?

Link zu diesem Kommentar

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

Link zu diesem Kommentar
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 von leinadgnom
Link zu diesem Kommentar

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 von NorbertFe
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...