none
Essentials R2 Exchange Integration RRS feed

  • Frage

  • Hallo zusammen,

    ich soll auf einem virtualisierten zwei Server System (Essentials 2012 R2 und Standard 2012 R2) eine Exchange-Integration in das Essentials Dashboard vornehmen (Voraussetzung für ARRConfig). Hypervisor ist ein Hyper-V 2012 Server. Exchange 2013 ist auf dem Standard Server (kein Domain Controller) installiert worden und läuft soweit auch ohne Probleme.

    Das Problem ist nur, dass der OPEWizard den Exchange nicht findet (siehe Log unten). habe mittlerweile rausbekommen, dass der Wizard versucht Exchange im LDAP zu finden um danach dessen Einstellungen in die Registry zu schreiben. Wenn ich danach suche (siehe Script unten) finde ich diesen allerdings ohne Schwierigkeiten (auf beiden Servern, LDAP also synchron wie es sich gehört)! Hat irgendwer eine Idee wie ich den Exchange trotz allem integriert bekomme? Hätte auch kein Problem damit das ganze "von Hand" in die Registry einzutragen. Bräuchte dafür allerdings die nötigen Werte.

    By the way, auch wenn die Server DC01 (Standard) und DC02 (Essentials) heißen, ist nur der DC02 als Domain Controller unterwegs.

    Danke schon mal im Voraus!

    Olli

    Log:

    [8096] 131106.213320.2611: General: Initializing...C:\Windows\System32\Essentials\OPEWizard.exe
    [4784] 131106.213326.0584: GettingStartedWizard: Start OPE service
    [4784] 131106.213326.1599: WssgCommon: Information: [0] : WseEmailSvc is already in the desired state.
    [4784] 131106.213327.9422: PfBinding: Information: [0] : Adding service dns identity [DC02] in proxy endpoint.
    [7424] 131106.213330.1668: OPEManager: TResult : Boolean, args : Microsoft.WindowsServerSolutions.Common.ProviderFramework.OperationInvokeEventArgs`1[System.Boolean]
    [7424] 131106.213330.1668: OPEManager: actualArgs : Microsoft.WindowsServerSolutions.Common.ProviderFramework.OperationInvokeEventArgs`1[System.Boolean]
    [4784] 131106.213330.1824: GettingStartedWizard: goto error page : OPEOperationFault = ExchangeSeverNotFound
    Microsoft.WindowsServerSolutions.OPEIntegration.OnPremiseExchangeException: No Exchange server found
       bei Microsoft.WindowsServerSolutions.OPEIntegration.OPEProviderCore.Activate()
       bei Microsoft.WindowsServerSolutions.Common.ProviderFramework.ProviderBase`1.<>c__DisplayClass4.<InvokeOperation>b__3()
       bei Microsoft.WindowsServerSolutions.Common.ProviderFramework.ProviderBase`1.InvokeOperation[TResult](String operationName, Func`1 func)

    Script:

    Function Get-ExchangeServerInSite {
        $ADSite = [System.DirectoryServices.ActiveDirectory.ActiveDirectorySite]
        $siteDN = $ADSite::GetComputerSite().GetDirectoryEntry().distinguishedName
        $configNC=([ADSI]"LDAP://RootDse").configurationNamingContext
        $search = new-object DirectoryServices.DirectorySearcher([ADSI]"LDAP://$configNC")
        $objectClass = "objectClass=msExchExchangeServer"
        $site = "msExchServerSite=$siteDN"
        $search.Filter = "(&($objectClass)($site))"
        $search.PageSize=1000
        [void] $search.PropertiesToLoad.Add("name")
        [void] $search.PropertiesToLoad.Add("msexchcurrentserverroles")
        [void] $search.PropertiesToLoad.Add("networkaddress")
        $search.FindAll() | %{
            New-Object PSObject -Property @{
                Name = $_.Properties.name[0]
                FQDN = $_.Properties.networkaddress |
                    %{if ($_ -match "ncacn_ip_tcp") {$_.split(":")[1]}}
                Roles = $_.Properties.msexchcurrentserverroles[0]
            }
        }
    }
    
        $role = @{
        2  = "MB"
        4  = "CAS"
        16 = "UM"
        32 = "HT"
        64 = "ET"
    }
    
    
       foreach ($server in Get-ExchangeServerinSite) {
      $roles = ($role.keys | ?{$_ -band $server.roles} | %{$role.Get_Item($_)}) -join ", "
      $server | select Name, @{n="Roles";e={$roles}},FQDN
    }

    Donnerstag, 7. November 2013 07:37