none
Darstellung von Kontakten von Exchange Server in einer SQL DB/View RRS feed

  • Frage

  • Hallo zusammen,

    gibt eine Möglichkeit, die Kontakte aus Exchange Server, in einer SQL DB/View darzustellen?
    Ich habe bisher nur kostenpflichtige Programme dafür gefunden.

    Exchange Server Version ist 2010.

    Besten Dank und Grüsse
    Steffen

    Mittwoch, 20. März 2013 07:16

Antworten

Alle Antworten

  • Hallo zusammen,

    gibt eine Möglichkeit, die Kontakte aus Exchange Server, in einer SQL DB/View darzustellen?
    Ich habe bisher nur kostenpflichtige Programme dafür gefunden.

    Besten Dank und Grüsse
    Steffen

    Dienstag, 19. März 2013 10:23
  • Hallo Steffen,

    die Frage wäre im Exchange Forum besser aufgehoben. Poste dort aber dann auch die Versionsnummer der bei euch eingesetzte Exchangeversion.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Dienstag, 19. März 2013 19:40
  • Hallo Stefan

    Danke für die Info. Werde die Frage dort stellen.

    Gruss

    Steffen

    Mittwoch, 20. März 2013 07:13
  • Hi Steffen

    Wenn du mir erklären kannst was ein SQL View ist, kann ich dir evtl. weiterhelfen. Ein Bsp. wäre nicht schlecht. 

    Gruss Andy

    Mittwoch, 20. März 2013 10:33
  • Hallo Andy

    eine View ist eine Ansicht zur Darstellung von Tabellen/Abfragen von einer oder mehrere Datenbanken. Bspw. will ich mir alle Kontakte aus mehreren Tabellen anzeigen lassen, dann erstelle ich eine View mit einer entsprechenden SQL Abfrage über mehrere Tabellen hinweg.

    Ob die Daten nachher in einer View oder DB dargestellt werden ist eigentlich egal. Wäre nur klasse, wenn man die Kontaktdaten vom Exchange Server darstellen könnte.

    Gruss
    Steffen

    Freitag, 22. März 2013 07:35
  • Hi Steffen

    Suchst du sowas: http://technet.microsoft.com/en-us/library/ff730930.aspx ?

    Gruss Andy

    Freitag, 22. März 2013 14:07
  • Hi Andy,

    Nicht ganz. Mit geht es darum, die Exchange Daten eines Kontaktes, wie Name, Firma, E-Mail-Adresse, evtl. eindeutige ID, Telefonnummer etc. in einer SQL Datenbank zu speichern, damit ich diese weiterverarbeiten kann.

    Bspw.

    Name Vorname Firma Tel
    Müller Franz Microsoft +49 123 456
    Meyer Kurt Microsoft +49 123 457

    Oder einfach alle Firmen und dazu gehörige Kontakte:
    Firma Kontaktperson Tel
    Microsoft Müller, Franz +49 123 456
    Microsoft Meyer, Kurt +49 123 457

    Gruss
    Steffen

    Montag, 25. März 2013 09:23
  • Hi Steffen

    Mit ein bisschen scripten bringst du die Daten in eine SQL DB. 

    Siehe hier: http://social.technet.microsoft.com/Forums/de-DE/exchange_serverde/thread/69a27e8f-aa1f-4827-a9a3-c263ebbf0383/

    Gruss Andy

    Montag, 25. März 2013 15:10
  • Evt. hilft dir auch Glen's Blog weiter..

    http://gsexdev.blogspot.de/

    Gruß

    Jörg

    Montag, 25. März 2013 16:14
  • Hallo Alex,

    ich bin noch dabei, mich in PowerShell einzuarbeiten und die Thematik zu verstehen.

    Gruss
    Steffen
    Donnerstag, 28. März 2013 13:32
  • Hallo Andy

    Mitlerweile bin ich schon etwas weiter. Der Tipp mit PowerShell war doch der richtige ;-) Wenn ich direkt auf dem Exchange Server bin, kann ich per Exchange Management Shell und dem folgenden Befehl, Daten in eine csv Datei exportieren.

    $filter = (Get-GlobalAddressList 'Default Global Address List').RecipientFilter
    Get-Recipient -RecipientPreviewFilter $filter | Select-Object Name,PrimarySmtpAddress,FirstName,LastName,GUID | Export-CSV C:\Users\steffen\GAL.csv –NoTypeInformation

    Das Ergebnis sieht so aus:

    "Peter Hans","peter.hans@solutions.local","Peter","Hans","ff1488ae-70aa-455e-be46-fe06db8a0817"

    Ich bin soweit zufrieden, nur dass die Daten jetzt noch vollautomatisch in eine SQL Tabelle sollen. Hast du da eine Idee?

    Montag, 8. April 2013 06:08
  • Hallo

    Meiner Meinung nach würde ich die Daten nicht in ein CSV exportieren. Schau dir mal den Thread vom nachfolgenden Link an. Da wird beschrieben wie du mit einer 'Foreach' Schlaufe die Daten in deine SQL Table bringst. 

    http://powershell.org/discuss/viewtopic.php?f=11&t=775

    Gruss Andy

    Montag, 8. April 2013 10:30
  • Hallo Andy

    Danke für den Link, aber ich bin nicht ganz schlau draus geworden.
    Aktuell habe ich selbst einen Befehl geschrieben, der mir Daten in einer Tabelle erstellt und ein Update durchführt, wenn eine Änderung am System ist. Wie kann ich nun meinen Export aus Exchange darin einbinden?

    # SQL Query's with Powershell
    #Setup SQL Connection

    $SqlConnection = New-Object System.Data.SqlClient.SqlConnection #$SqlConnection.ConnectionString = "Data Source=VMWare\SQLEXPRESS;database=Lieferscheine;Uid=sa;Pwd=Admin" #Use this Windows Authentication $SqlConnection.ConnectionString = "Data Source= VMWare\SQLEXPRESS;database=Lieferscheine;Integrated Security=SSPI;"   $SqlConnection.Open()

    #SQL SELECT $qSQL = "SELECT Name, Vorname, Strasse, Plz, Ort, GUID, Firma FROM Kunden" $SqlCmd = New-Object System.Data.SqlClient.SqlCommand $SqlCmd.CommandText = $qSQL $SqlCmd.Connection = $SqlConnection $SQLReader = $SqlCmd.ExecuteReader() $sqlReader.Read() $Count = $sqlReader["SearchForPST"] $SQLReader.close()

    #SQL INSERT $qSQL = "INSERT INTO Kunden (Name, Vorname, Strasse, Plz, Ort, GUID, Firma) VALUES ('Meier', 'Hans', 'Bahnhofstr. 18', '5722', 'Basel', '02345-69574-95745-62458', 'Die Firma')" $SqlCmd.CommandText = $qSQL $Result = $SqlCmd.ExecuteNonQuery() Write-Host "Result INSERT: " $Result

    #SQL UPDATE Firma $qSQL = "UPDATE Kunden SET Name = 'Meier', Vorname = 'Hans', Strasse = 'Müllerweg 3', Plz = '8055', Ort = 'Zürich', Firma = 'Änderung der Firma' WHERE GUID = '02345-69574-95745-62458'" $SqlCmd.CommandText = $qSQL $Result = $SqlCmd.ExecuteNonQuery() Write-Host "Result UPDATE: " $Result

    #SQL UPDATE Ort $qSQL = "UPDATE Kunden SET Name = 'Meier', Vorname = 'Hans', Strasse = 'Laubeggstr. 139', Plz = '3006', Ort = 'Bern', Firma = 'Die neue Firma' WHERE GUID = '02345-69574-95745-62458'" $SqlCmd.CommandText = $qSQL $Result = $SqlCmd.ExecuteNonQuery() Write-Host "Result UPDATE: " $Result

    $SqlConnection.Close()


    Gruss

    Steffen

    Freitag, 12. April 2013 11:53
  • Ciao Steffen

    Wenn ich dieses Wochenende dazukomme, werde ich dir ein PoC erstellen. Scheint ja schönes Wetter hier in der Schweiz zu geben ;)

    Gruss Andy

    Freitag, 12. April 2013 17:41