Какие разделы реестра определяют профиль Outlook
Мне нужно написать код VBScript, чтобы проверить, использует 9X_registry ли Outlook профиль MAPI или профиль RPC 9X_outlook через HTTP / S.
Так может ли кто-нибудь сообщить 9X_vba мне, какой раздел реестра решает то же самое?
Пожалуйста, помогите.
Ответ #1
Ответ на вопрос: Какие разделы реестра определяют профиль Outlook
Это изменилось в Outlook 2013:
Профили хранятся 9X_vba под ключами:
HKEY_CURRENT_USER\Software\Microsoft\Office\\Outlook\Profiles
Где
- одно из следующих значений:
- Офис 97 -
7.0
- Офис 98 -
8.0
- Office 2000 -
9.0
- Office XP -
10.0
- Office 2003 -
11.0
- Office 2007 -
12.0
- Office 2010 -
14.0
(sic!) - Office 2013 -
15.0
- Office 2016 -
16.0
Приведенная 9X_visual-basic-applications выше информация о версии была скопирована 9X_windows-registry с this answer.
- Нет, это не так. Профили хранятся для каждой версии только начиная ...
Ответ #2
Ответ на вопрос: Какие разделы реестра определяют профиль Outlook
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
9X_vbscript
Ответ #3
Ответ на вопрос: Какие разделы реестра определяют профиль Outlook
Во-первых, для Outlook 97-2010 профили хранятся 9X_windows-registry в HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles
.
Начиная с Outlook 2013 (который поддерживает 9X_vbscript параллельную установку) профили хранятся 9X_vbs в HKEY_CURRENT_USER\Software\Microsoft\Office\%version%\Outlook\Profiles
, где% version% - 15.0 для Outlook 2013, 16.0 9X_windows-registry для Outlook 2016 и т. д.
На низком (расширенном 9X_registry MAPI) уровне настройки RPC-over-HTTP (ROH) определяются 9X_vbscript битом ROHFLAGS_USE_ROH в свойстве PR_PROFILE_RPC_PROXY_SERVER_FLAGS 9X_outlook-form (0x66230003). Это свойство устанавливается 9X_vbs в разделе глобального профиля, а также в 9X_vbs конкретном разделе профиля хранилища Exchange 9X_outlook (поскольку Outlook теперь поддерживает несколько 9X_vbs учетных записей Exchange в одном профиле).
Вы 9X_visual-basic-applications можете увидеть данные в OutlookSpy - нажмите кнопку 9X_vba IMAPISession на ленте OutlookSpy, нажмите 9X_vba-macros OpenProfileSession, выберите запись {C8B0DB13-05AA-1A10-9BB0-00AA002FC45A} pbGlobalProfileSectionGuid
в поле 9X_visual-basic-applications со списком.
Обратите внимание, что расширенный 9X_microsoft-office-outlook MAPI нельзя использовать из VB (или .Net). Если 9X_windows-registry можно использовать Redemption / Profman, вы можете использовать 9X_vbs следующий сценарий для перечисления всех 9X_microsoft-office-outlook профилей и проверки использования 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
Если 9X_vbscript вы уже используете Outlook и хотите проверить, что 9X_windows-registry текущий профиль использует ROH, вы можете 9X_vba-macros использовать свойство RDOSession. ExchangeConnectionProperties.UseROH
:
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Application.Session.MAPIOBJECT
MsgBox Session.ExchangeConnectionProperties.UseROH
-
5
-
7
-
5
-
2
-
2
-
3
-
7
-
3
-
3
-
15
-
2
-
2
-
2
-
3
-
4
-
2
-
3
-
6
-
2
-
2
-
1
-
2
-
2
-
2
-
2
-
3
-
1
-
1
-
1
-
1
-
4
-
1
-
1
-
2
-
2
-
1
-
2
-
1
-
3
-
6
-
4
-
3
-
4
-
6
-
4
-
3
-
2
-
2
-
2
-
5