原始 KB 编号: 981022
症状
使用 组策略 或 Office 自定义工具 (OCT) 在 Microsoft Outlook 2010 中自定义联系人卡片时,联系人卡片保持不变。
例如,尝试将联系人卡上的“部门”字段替换为Active Directory 域服务 (AD DS) 中的另一个属性。 部署此更改后,联系人卡片保持不变。 所有默认字段仍显示在联系人卡片上。 下图显示了默认的“联系人卡片”字段。
在设置树中的 Office 2010\Contact Card\Contact Tab 节点下配置的所有设置都会出现此问题。 下图显示了 Office 自定义工具中的这些设置。
组策略管理控制台中也显示了这些设置的类似树结构。
原因
出现此问题的原因是,组策略和 OCT 模板文件不包含用于自定义“联系人选项卡”部分下的联系人卡片设置的正确注册表设置。
解决方法
重要
此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的详细信息,请参阅如何备份和还原 Windows 中的注册表。
若要解决此问题,请使用以下注册表信息来自定义 联系人卡片上显示的字段。
项:HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Common\ContactCard
注意
\Policies
必须使用注册表中的配置单元。
字符串:TurnOnContactTabLabelReplace#
值:要替换联系人卡片中显示的默认文本的任何文本。
DWORD:TurnOnContactTabMAPIReplace#
值:对应于 AD DS 中某个属性的 MAPI 值的十六进制值。 有关允许的值,请参阅表 2。
注意
对于这两个注册表值,请对占位符 #使用介于 1 和 8 之间的整数。 表 1 指定了联系人卡片上显示的默认项,以及要在注册表中使用的整数值(如果要将此项替换为 AD DS 中的另一个属性)。
表 1:联系人卡片默认项目行项整数值
默认项 | 整数值 |
---|---|
部门 | 1 |
Office | 2 |
Work | 3 |
移动设备 | 4 |
家庭版 | 5 |
电子邮件 | 6 |
日历 | 7 |
位置 | 8 |
表 2:AD DS 属性及其相应的 MAPI 值
AD DS 属性 | MAPI 值 | 通讯簿中的属性名称 | 评论 |
---|---|---|---|
legacyExchangeDN | 3003001f | PR_EMAIL_ADDRESS | |
info | 3004001f | PR_COMMENT | |
39fe001f | PR_SMTP_ADDRESS | ||
displayNamePrintable | 39ff001f | PR_7BIT_DISPLAY_NAME | |
mailNickname | 3a00001f | PR_ACCOUNT | |
givenName | 3a06001f | PR_GIVEN_NAME | |
telephoneNumber | 3a08001f | PR_BUSINESS_TELEPHONE_NUMBER | |
homePhone | 3a09001f | PR_HOME_TELEPHONE_NUMBER | |
Initials | 3a0a001f | PR_INITIALS | |
cn | 3a0f001f | PR_MHS_COMMON_NAME | |
sn | 3a11001f | PR_SURNAME | |
公司 | 3a16001f | PR_COMPANY_NAME | |
title | 3a17001f | PR_TITLE | |
department | 3a18001f | PR_DEPARTMENT_NAME | |
physicalDeliveryOfficeName | 3a19001f | PR_OFFICE_LOCATION | |
移动设备 | 3a1c001f | PR_CELLULAR_TELEPHONE_NUMBER | |
displayName | 3a20001f | PR_TRANSMITABLE_DISPLAY_NAME | |
传呼 机 | 3a21001f | PR_BEEPER_TELEPHONE_NUMBER | |
facsimileTelephoneNumber | 3a23001f | PR_PRIMARY_FAX_NUMBER | |
co | 3a26001f | PR_BUSINESS_ADDRESS_COUNTRY | |
我 | 3a27001f | PR_BUSINESS_ADDRESS_CITY | |
st | 3a28001f | PR_BUSINESS_ADDRESS_STATE_OR_PROVINCE | |
streetAddress | 3a29001f | PR_BUSINESS_ADDRESS_STREET | |
postalCode | 3a2a001f | PR_BUSINESS_ADDRESS_POSTAL_CODE | |
telephoneAssistant | 3a2e001f | PR_ASSISTANT_TELEPHONE_NUMBER | |
msExchAssistantName | 3a30001f | PR_ASSISTANT | |
homePostalAddress | 3a5d001f | PR_HOME_ADDRESS_STREET | |
homeMTA | 8007001f | PR_EMS_AB_HOME_MTA | |
C | 8069001f | PR_EMS_AB_COUNTRY_NAME | |
street | 813a001f | PR_EMS_AB_STREET_ADDRESS | |
employeeNumber | 8c67001f | PR_EMS_AB_EMPLOYEE_NUMBER | |
personalPager | 8c68001f | PR_EMS_AB_TELEPHONE_PERSONAL_PAGER | |
employeeType | 8c69001f | PR_EMS_AB_EMPLOYEE_TYPE | |
personalTitle | 8c6b001f | PR_EMS_AB_PERSONAL_TITLE |
重要
AD DS 属性名称区分大小写。
注意
下表列出了无法在 Outlook 中显示的联系人卡片中自定义的 AD DS 属性。
AD DS 属性 | MAPI 值 | 通讯簿中的属性名称 |
---|---|---|
displayName | 3001001e | PR_DISPLAY_NAME |
注释 | 3004001e | PR_COMMENT |
otherTelephone | 3a1b101f | PR_BUSINESS2_TELEPHONE_NUMBER |
postOfficeBox | 3a2b101f | PR_BUSINESS_ADDRESS_POST_OFFICE_BOX |
otherHomePhone | 3a2f101f | PR_HOME2_TELEPHONE_NUMBER |
manager | 通讯簿中不存在 | |
说明 | 806f101f | PR_EMS_AB_DESCRIPTION |
postalAddress | 810c101f | PR_EMS_AB_POSTAL_ADDRESS |
并非此 MSDN 文章中列出的每个属性都可以在联系人卡片中自定义。
如何重新排列“位置”和“日历”字段
联系人卡片中的“位置”和“日历”字段不同于联系人卡片中的其他字段。 这两个字段不会从 MAPI 属性拉取数据。 从当前忙/闲数据中检索“日历”字段的数据,从 Office Communicator 中的“位置”设置检索“位置”字段的数据,如下图所示:
注意
Microsoft Office Communicator必须运行,数据才能显示在联系人卡片的“位置”字段旁边。
以下注册表信息用于将联系人卡片中的 “日历” 和“ 位置” 字段从其默认位置移动。
项:HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Common\ContactCard
DWORD:TurnOnContactTabCalendarLineMove
值:介于 1 和 8 之间的整数值
DWORD:TurnOnContactTabLocationLineMove
值:介于 1 和 8 之间的整数值
如何在联系人卡片中留空行
如果要在联系人卡片行中留一行空白,请按如下所示指定注册表设置:
字符串:TurnOnContactTabLabelReplace#
值:将此字段留空
DWORD:TurnOnContactTabMAPIReplace#
值:0
注意
对于这两个注册表值,请使用介于 1 和 8 之间的整数,而不是占位符 #。
下图演示了此方法,其中联系人卡片中的日历行留空。
解决方法示例
以下示例注册表设置对默认联系人卡片进行多项自定义:
项:HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Common\ContactCard
字符串:TurnOnContactTabLabelReplace4
值:别名
DWORD:TurnOnContactTabMAPIReplace4
值:3a00001f
字符串:TurnOnContactTabLabelReplace5
值:电子邮件
DWORD:TurnOnContactTabMAPIReplace5
值:39fe001f
字符串:TurnOnContactTabLabelReplace6
值:闲/忙
DWORD:TurnOnContactTabCalendarLineMove
值:6
DWORD:TurnOnContactTabLocationLineMove
值:7
字符串:TurnOnContactTabLabelReplace7
值:IM 位置
DWORD:TurnOnContactTabLabelReplace8
值:将此值留空
通过所做的更改,联系人卡片会显示以下自定义项:
- 第 4 行中的 “移动” 标签将替换为 “别名” 标签。
- 用户的
mailNickname
属性显示在第 4 行中。 - 电子邮件标签将移至第 5 行,这将替换默认的“开始”标签。
- 用户的邮件属性显示在第 5 行中。
- 日历标签替换为忙/闲标签,标签位于第 6 行。
- 忙/闲信息将移至第 6 行。
- “位置”标签将替换为“即时消息位置”标签,并且该标签位于第 7 行。
- 第 8 行替换为空白行。
下图显示了这些自定义项:
更多信息
其他 Microsoft Office 程序(如 Word、Excel、PowerPoint 和 SharePoint)中也提供了联系人卡片。 若要在使用 Outlook 以外的 Office 程序时自定义联系人卡片条目,请使用以下注册表值而不是 TurnOnContactTabADReplace# 值。
字符串:TurnOnContactTabADReplace#
值:AD DS 属性。 有关允许的值,请参阅表 2 中的 AD DS 属性列。
#根据表 1 中列出的值,将 替换为介于 1 和 8 之间的整数。
Outlook 与其他 Office 程序之间的main差异如下:
- Outlook 必须使用 MAPI 属性,并且注册表值为 DWORD。
- 其他 Office 程序必须使用 AD DS 属性,并且注册表值为 String。
重要
AD DS 属性名称区分大小写。
如何在 Outlook 以外的 Office 程序中显示联系人卡片
在 Outlook 以外的 Office 程序中显示联系人卡片的步骤因程序而异。
Microsoft Word 2010
若要在 Microsoft Word中显示联系人卡片,请执行以下步骤:
在Word文档中选择用户的名称。
右键单击用户名,指向 “其他操作” ,然后选择“ 联系人卡片 ” (下面列出了此步骤) 屏幕截图。
可以从 Backstage 的“信息”部分显示联系人卡片。 若要使用 Word显示联系人卡片,请执行以下步骤:
在"文件"选项卡上,单击"信息"。
在右窗格中,将指针悬停在“相关人员”下的名称 (下面列出了此步骤的屏幕截图) 。
联系人卡片在短暂暂停后显示。
Microsoft Excel 2010
可以从 Backstage 的“信息”部分显示联系人卡片。 若要使用 Excel 显示联系人卡片,请执行以下步骤:
在“文件”选项卡上,选择“信息”。
在右窗格中,将指针悬停在“相关人员”下的名称 (下面列出了此步骤的屏幕截图) 。
联系人卡片在短暂暂停后显示。
Microsoft PowerPoint 2010
可以从 Backstage 的“信息”部分显示联系人卡片。 若要使用 PowerPoint 显示联系人卡片,请执行以下步骤:
在“文件”选项卡上,选择“信息”。
在右窗格中,将指针悬停在“相关人员”下的名称 (下面列出了此步骤的屏幕截图) 。
联系人卡片在短暂暂停后显示。
SharePoint Workspace 2010
若要使用 SharePoint 工作区显示联系人卡片,请执行以下步骤:
在功能区的“ 开始 ”选项卡上,选择“ 联系人”。
将指针停留在联系人 (下面列出了此步骤的屏幕截图) 。
联系人卡片在短暂暂停后显示。
SharePoint Server 2010
若要在 SharePoint 网站上显示联系人卡片,请执行以下步骤:
选择联系人的个人资料页。
将指针悬停在 “状态 ”图标上, (下面列出了此步骤的屏幕截图) 。
联系人卡片在短暂暂停后显示。