none
Skype for business 2016 error mapi RRS feed

  • Вопрос

  • Здравствуйте!

    Windows 10

    office 2016 proff x32

    Skype for bussines 16.0.12624.20348

    Пытаюсь подключиться по mapi к локальному профилю Outlook. Выдаётся ошибка.

    Всё обновлено. Куда копать?

    https://docs.microsoft.com/ru-ru/SkypeForBusiness/troubleshoot/server-exchange-integration/mapi-unavailable   не помогло.


    6 апреля 2020 г. 10:39

Ответы

  • Здравствуйте,

    Вы пробовали все решения из приведенной Вами статьи?

    Несколько людей в обсуждениях сказали что, данное обновление им помогло:
    July 5, 2016, update for Skype for Business 2016 (KB3115268)
    Скорее всего оно у Вас уже установленно, но я даю вам ссылку на всякий случай.

    Также я нашел и нижеуказанное решение в обсуждении данной проблемы, которое можете попробовать:

    This automates the process of finding the registry keys and adding the property.

    I added it as a logon script so anyone who does not have the fix will soon :)

    #Check to see if Outlook is running and wait for it to stop running. End if Outlook has not stopped in 60 seconds.
    While (Get-Process outlook -ErrorAction SilentlyContinue)
    {
    Write-host "Waiting for Outlook to stop running." -ForegroundColor Green
    Wait-Process -Name Outlook -Timeout 60 -ErrorAction Stop
    }
    
    #Start Outlook
    add-Type -assembly "Microsoft.Office.Interop.Outlook"
    $outlook = new-object -ComObject outlook.application 
    #Wait for MAPI Connection to establish.
    While (!($outlook.GetNamespace("MAPI")).autodiscoverxml)
    {
        Write-Host "Establishing MAPI Connection" -ForegroundColor Green
    }
    
    #Get necessary variables from the MAPI Namespace property AutodiscoverXML
    $Autodiscover = $Outlook.GetNameSpace("MAPI")
    [xml]$AutodiscoverXML = [xml]$Autodiscover.AutoDiscoverXml
    $legacyDN = $autodiscoverxml.Autodiscover.Response.User.LegacyDN
    $SMTPAddress = $AutodiscoverXML.Autodiscover.Response.User.AutoDiscoverSMTPAddress
    [string]$outlookprofile = $outlook.DefaultProfileName
    
    #Set Registry path to the Outlook profile
    $HKCUPath = "HKCU:\SOFTWARE\Microsoft\Office\16.0\Outlook\Profiles\$outlookprofile"
    
    #Get serviceUID Value in Bytes
    $HKCUProfile = Get-ChildItem HKCU:\SOFTWARE\Microsoft\Office\16.0\Outlook\Profiles\$outlookprofile\9375CFF0413111d3B88A00104B2A6676 | Get-ItemProperty | Where {$_."Account Name" -eq "$SMTPAddress"}
    
    #Convert ServiceUID from Bytes to String and remove Dashes (-)
    $ServiceUID = ([System.BitConverter]::ToString($HKCUProfile.'Service UID')).Replace("-","")
    
    #Get the destination path from property 01023d0d in $HKCUPath\$ServiceUID and remove the dashes.
    $DestPath = ([system.bitconverter]::ToString((Get-ItemProperty -Path "$HKCUPath\$ServiceUID")."01023d0d")).replace("-","")
    if (!(Get-ItemProperty -Path "$HKCUPath\$DestPath" -name 001e6603 -ErrorAction SilentlyContinue))
    {
        New-ItemProperty -Path "$HKCUPath\$DestPath" -PropertyType String -name 001e6603 -Value $legacyDN
        Write-host "Adding $legacyDN Value to Reg_SZ 001e6603 in $HKCUPath\$DestPath to fix the Lync MAPI Connection." -ForegroundColor Green
    }
    Else
    {
        Write-host "Reg_SZ 001e6603 is already configured with the value $legacyDN. No change necessary" -ForegroundColor Green
    }
    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($outlook) | out-null
    [gc]::collect() 
    [gc]::WaitForPendingFinalizers()
    Get-Process Outlook -ErrorAction SilentlyContinue | stop-process -ErrorAction SilentlyContinue
    Remove-Variable -Name outlook


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    6 апреля 2020 г. 13:19
    Модератор