11

Outlook が MAPI プロファイルまたは RPC over HTTP/S プロファイルを使用しているかどうかを確認するために、VBScript コードを記述する必要があります。

では、どのレジストリキーが同じことを決定するのか、誰か教えてもらえますか?

助けてください。

4

3 に答える 3

19

これは Outlook 2013 で変更されました。

プロファイルは次のキーの下に保存されます。

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

<version>は次のいずれかです。

  • オフィス97 –7.0
  • オフィス98 –8.0
  • オフィス 2000 –9.0
  • オフィス XP –10.0
  • オフィス 2003 –11.0
  • オフィス 2007 –12.0
  • Office 2010 – 14.0(原文のまま!)
  • オフィス 2013 –15.0
  • オフィス 2016 –16.0

上記のバージョン情報は、この回答からコピーされました。

于 2013-12-25T02:14:54.787 に答える
10
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
于 2012-11-30T10:04:46.607 に答える
6

まず、Outlook 97-2010 の場合、プロファイルは に保存されHKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profilesます。

Outlook 2013 (サイド バイ サイド インストールをサポート) 以降、プロファイルは に保存されますHKEY_CURRENT_USER\Software\Microsoft\Office\%version%\Outlook\Profiles。%version% は、Outlook 2013 の場合は 15.0、Outlook 2016 の場合は 16.0 などです。

低 (拡張 MAPI) レベルでは、RPC-over-HTTP (ROH) 設定は、PR_PROFILE_RPC_PROXY_SERVER_FLAGS プロパティ (0x66230003) の ROHFLAGS_USE_ROH ビットによって決定されます。このプロパティは、グローバル プロファイル セクションと特定の Exchange ストア プロファイル セクションで設定されます (Outlook が 1 つのプロファイルで複数の Exchange アカウントをサポートするようになったため)。

OutlookSpyでデータを表示できます。OutlookSpy リボンの IMAPISession ボタンをクリックし、OpenProfileSession をクリックして{C8B0DB13-05AA-1A10-9BB0-00AA002FC45A} pbGlobalProfileSectionGuid、コンボ ボックスからエントリを選択します。

Extended MAPI は VB (または .Net) からは使用できないことに注意してください。Redemption / Profmanを使用するオプションがある場合は、次のスクリプトを使用してすべてのプロファイルを列挙し、ROH が使用されているかどうかを確認できます。

  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

既に Outlook を実行していて、現在のプロファイルが ROH を使用していることを確認したい場合は、RDOSessionを使用できます。ExchangeConnectionProperties.UseROH財産:

set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
MsgBox Session.ExchangeConnectionProperties.UseROH
于 2015-09-03T15:49:56.097 に答える