Les clés de Registre qui déterminent le profil Outlook

je dois écrire un code VBScript pour vérifier si outlook utilise le profil MAPI ou RPC sur le profil HTTP/S.

alors quelqu'un peut-il me faire savoir quelle clé d'enregistrement décide de la même chose?

s'il vous Plaît aider.

10
demandé sur Tejas 2012-11-22 01:55:24

3 réponses

c'est Ce qui a changé dans Outlook 2013:

Profils sont stockés sous les touches:

HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\Outlook\Profiles

<version> est une des options suivantes:

  • Office 97 -7.0
  • Office 98 -8.0
  • Office 2000 -9.0
  • Office XP -10.0
  • Bureau 2003 -11.0
  • Office 2007 -12.0
  • Office 2010 -14.0(sic!)
  • Office 2013 -15.0
  • Office 2016 -16.0

La version ci-dessus, l'info a été copié à partir de cette réponse.

18
répondu robotox 2017-05-23 12:18:17
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook


HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Simple MAPI-CMC
10
répondu Akshay Joy 2012-11-30 10:04:46

tout d'Abord, pour Outlook 97-2010 les profils sont stockés dans HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles.

A partir D'Outlook 2013 (qui supporte les installations côte à côte), les profils sont stockés dans HKEY_CURRENT_USER\Software\Microsoft\Office\%version%\Outlook\Profiles, où %version % est de 15.0 pour Outlook 2013, 16.0 pour Outlook 2016,etc.

au niveau bas (MAPI étendu), les paramètres RPC-over-HTTP (ROH) sont déterminés par le bit ROHFLAGS_USE_ROH de la propriété PR_PROFILE_RPC_PROXY_SERVER_FLAGS (0x66230003). Cette propriété est placée dans le global la section de profil ainsi que la section de profil de magasin D'échange particulier (depuis Outlook soutient maintenant plusieurs comptes D'échange dans un seul profil).

Vous pouvez voir les données dans OutlookSpy - cliquez sur le bouton IMAPISession sur le ruban OutlookSpy, cliquez sur OpenProfileSession, sélectionnez le {C8B0DB13-05AA-1A10-9BB0-00AA002FC45A} pbGlobalProfileSectionGuid entrée de la boîte bascule.

notez que le MAPI étendu ne peut pas être utilisé à partir de VB (ou .Net). Si vous utilisez rédemption/ Profman est un option, vous pouvez utiliser le script suivant pour énumérer tous les profils et vérifier si ROH est utilisé:

  PR_PROFILE_RPC_PROXY_SERVER_FLAGS  = &H66230003
  ROHFLAGS_USE_ROH = 1

  set Profiles=CreateObject("ProfMan.Profiles")
  for i = 1 to Profiles.Count
    set Profile = Profiles.Item(i)
    set GlobalProfSect = Profile.GlobalProfSect
    Debug.Print "Profile: " & Profile.Name & " ------"
    flags = GlobalProfSect.Item(PR_PROFILE_RPC_PROXY_SERVER_FLAGS)
    If TypeName(flags) = "Long" Then
      if (flags And ROHFLAGS_USE_ROH) = ROHFLAGS_USE_ROH Then
        Debug.Print "   ROH is used"
      Else
        Debug.Print "   ROH is not used"
      End If
    Else
      Debug.Print "   No PR_PROFILE_RPC_PROXY_SERVER_FLAGS"
    End If
  next

si vous utilisez déjà Outlook et que vous voulez vérifier que le profil actuel utilise ROH, vous pouvez utiliser RDOSession.ExchangeConnectionProperties.UseROH propriété:

set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
MsgBox Session.ExchangeConnectionProperties.UseROH
4
répondu Dmitry Streblechenko 2016-05-14 16:43:50