简介
在 Microsoft System Center Service Manager 2010 中操作队列和工作项等对象需要授权。 这些授权通过使用配置文件进行管理。 配置文件是用于授权的项的集合。 对于创建、读取、更新和删除等操作,以下结构用于授权项:
ProfileName 操作类型属性关系 RelationshipEndPointFor 授权,用户角色指定特定用户可以通过关联配置文件、范围和用户对特定对象执行的操作。 Service Manager控制台还使用配置文件来筛选任务和模板等对象。
此修补程序中包含的三个存储过程的文件名如下:-
p_GetRestrictrictionsOnOperationsInProfile
-
p_AddRestrictrictionToOperationInProfile
-
p_RemoveRestrictrictionFromOperationInProfile
这些SQL存储过程允许添加或删除配置文件中操作的权限,以支持添加到Service Manager环境中的自定义类型。 Service Manager控制台无法添加或删除这些权限。 例如,如果通过添加新的新关系关系自定义用户类型,则可以将以下授权添加到 IncidentResolver 配置文件:
ProfileName 操作类型属性关系 RelationshipEndPoint
IncidentResolver Object_Set用户新关系 这些存储过程还提供了访问特定类型的属性的更多详细信息。 Service Manager控制台无法提供这些详细信息。 这些SQL存储过程不能向配置文件添加新操作,只能执行以下任务:-
查看在现有配置文件中配置的授权。
-
将类型添加到现有配置文件中的现有操作。 可以将类型、属性和关系限制添加到以下操作:
-
Object__Add
-
Object__Set
-
Object__Get
-
Object__Delete
-
-
从现有配置文件中的现有操作中删除类型。
更多信息
修补程序信息
Microsoft 提供了支持的修补程序。 但是,此修补程序旨在仅更正本文中所述的问题。 仅将此修补程序应用于遇到本文中所述问题的系统。 此修补程序可能会收到其他测试。 因此,如果未受到此问题的严重影响,建议等待包含此修补程序的下一个软件更新。
如果修补程序可供下载,则本知识库文章顶部有“可用修补程序下载”部分。 如果未显示此部分,请联系 Microsoft 客户服务和支持部门获取修补程序。 请注意,如果出现其他问题或需要进行任何故障排除,则可能需要创建单独的服务请求。 通常的支持成本将适用于其他支持问题和不符合此特定修补程序条件的问题。 有关 Microsoft 客户服务和支持人员电话号码的完整列表或创建单独的服务请求,请访问以下 Microsoft 网站:http://support.microsoft.com/contactus/?ws=support请注意,“可用修补程序下载”窗体显示修补程序可用的语言。 如果看不到语言,这是因为该语言不提供修补程序。
先决条件
若要应用此修补程序,必须安装 Microsoft System Center Service Manager 2010 Service Pack 1 (SP1) 。
请注意,此修补程序适用于 2010 System Center Service Manager中的 Service Manager 主管理服务器 (SM Server) 组件。如何安装此修补程序
在安装此修补程序之前,我们建议执行以下步骤:
-
备份 ServiceManager 数据库。
-
备份 SM Server 的加密密钥。
请注意,安装后无法卸载此修补程序。
若要安装此修补程序,请执行以下步骤:-
关闭所有Service Manager相关的应用程序,例如Service Manager控制台和Self-Service门户。
-
在Windows资源管理器中,打开包含此修补程序包的文件夹。
-
右键单击以下文件,然后单击 “以管理员身份运行”
Scsm2010_amd64_sp1_kb2525307.exe
-
在“许可证协议”页上的“System Center Service Manager SCSM2010_SP1_KB2525307安装向导”中接受许可协议,然后单击“安装”以完成向导。
如何确定是否正确应用了此修补程序
方法 1
-
在控制面板中,打开程序和功能。
-
单击“查看已安装的更新”。
-
如果列出了以下项,则修补程序已正确应用:
Microsoft System Center Service Manager SP1 (KB2525307) 的修补程序请注意,如果系统正在运行 SM Server,则此项在 Microsoft System Center Service Manager SP1 下列出。
方法 2
在 %temp% 文件夹中查看以下日志文件,以确定在安装修补程序期间是否发生了任何错误:
-
Scsm2010_sp1_kb2525307.msp.0.log
-
Scsmpatchersetupwizard01.log
注册表信息
若要使用此包中的修补程序,无需对注册表进行任何更改。
重启要求
应用此修补程序后,无需重启计算机。
修补程序替换信息
此修补程序不会替换以前发布的修补程序。有关软件更新术语的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:
824684 用于描述 Microsoft 软件更新的标准术语说明
如何将存储过程与自定义关系结合使用
如果添加关系以扩展类型,并且要限制这些关系的更新权限,则必须将扩展类型添加到更新相应配置文件的所需操作。
例如,在 System.WorkItem.Incident 和 System.Domain.User 终结点之间添加 System.CallingUser 关系。 如果希望 IncidentResolver 配置文件能够启用更新关系的功能,则必须将关系添加到 System.Domain.User 终结点的Object__Set (更新) 权限。 在此示例中,无需将关系添加到 System.WorkItem.Incident 终结点右侧的Object__Set (更新) 。 不必添加关系,因为以下条目指示 System.WorkItem.Incident 终结点已具有所有属性和关系终结点的Object__Set (更新) 权限:ProfileName 操作类型属性关系 RelationshipEndPoint
IncidentResolver Object__Set System.WorkItem.Incident NUL NULL N/A 可以调用以下存储过程,将Object__Set (更新) 权限添加到 IncidentResolver 配置文件中 System.CallUser 关系的 System.Domain.User 终结点:
exec p_RemoveRestrictrictionFromOperationInProfile'IncidentResolver', 'Object__Set', 'System.Domain.User', NULL, 'System.CallingUser', NULL
语法
以下部分介绍此修补程序中包含的存储过程的语法。
p_GetRestrictrictionsOnOperationsInProfile存储过程
参数
@ProfileName nvarchar (max) = NULLThis 存储过程显示指定配置文件中的操作列表。 对于每个操作,此存储过程还会显示类型、属性以及类型中定义且可由操作使用的关系。
注意,若要正确定义关系,必须将其定义为关系的两个终结点上的属性。如何使用存储过程并解释输出
-
如果 ProfileName 为 null,则会显示所有配置文件。
-
在同一行中列出的操作、属性和类型指示操作仅限于该类型的属性。
-
在同一行中列出的操作、类型和关系终结点表示该操作仅限于该类型的关系终结点。
-
如果类型、属性和关系终结点都是 null 值,则会在所有类型、所有属性和所有关系终结点上启用关联操作。
以下是有效的配置文件名称:
-
ActivityImplementer
-
管理员
-
AdvancedOperator
-
作者
-
ChangeInitiator
-
IncidentResolver
-
ProblemAnalyst
-
ReadOnlyOperator
-
工作流
-
ChangeManager
-
EndUser
-
ImpliedConfigItemCustodian
-
ImpliedIncidentAffectedUser
-
ImpliedPrimaryComputerUser
-
ImpliedReviewer
-
ImpliedUserPreference
p_AddRestrictrictionToOperationInProfile存储过程
参数
@ProfileName AS NVARCHAR (MAX) = null
@OperationName AS NVARCHAR (MAX) = null @TypeName AS NVARCHAR (MAX) = null @PropertyName AS NVARCHAR @PropertyName (MAX) = null @RelationshipTypeName AS NVARCHAR (MAX) = null @RelationshipEndpoint AS NVARCHAR (MAX) = nullNote 此存储过程向指定配置文件添加指定的限制。p_RemoveRestrictrictionFromOperationInProfile存储过程
参数
@ProfileName AS NVARCHAR (MAX) = null
@OperationName AS NVARCHAR (MAX) = null @TypeName AS NVARCHAR (MAX) = null @PropertyName AS NVARCHAR (MAX) = null @RelationshipTypeName AS NVARCHAR (MAX) = null @RelationshipEndpoint AS NVARCHAR (MAX) = nullNote 此存储过程从指定配置文件中删除指定的限制。示例 1
以下示例演示p_GetRestrictrictionsOnOperationsInProfile存储过程的输出。 结果显示,IncidentResolver 配置文件的Object__Get (读取) 操作不受限制。
ProfileName 操作类型属性关系 RelationshipEndPoint
IncidentResolverObject__GetNULLNULL NULL NULL示例 2
以下示例演示p_GetRestrictrictionsOnOperationsInProfile存储过程的输出。 结果表明,IncidentResolver 配置文件的Object__Set操作仅限于以下类型:
-
System.WorkItem.Incident 及其所有属性,包括关系终结点
-
System.FileAttachment 及其所有属性,包括关系终结点
-
System.WorkItem.Log 及其所有属性,包括关系终结点
-
System.WorkItem.Activity.ManualActivity 及其属性,包括关系终结点
-
System.Config项和关系终结点 System.WorkItemAboutConfigItem
-
System.Config项和关系终结点 System.WorkItemRelatesConfigItem
-
System.Domain.User 和关系终结点 System.WorkItem.TroubleTicketClosedByUser
-
System.Domain.User 和关系终结点 System.WorkItemAssignedToUser
-
System.Domain.User 和关系终结点 System.WorkItemCreatedByUser
ProfileName 操作类型属性关系 RelationshipEndPoint
IncidentResolver Object__Set System.WorkItem.Incident NULL NULL N/A IncidentResolver Object__Set System.FileAttachment NULL NULL N/A IncidentResolver Object__Set System.WorkItem.. Log NULL NULL N/A IncidentResolver Object__Set System.WorkItem.Activity.ManualActivity NULL NULL N/A IncidentResolver Object__Set System.ConfigItem NULL System.WorkItemAboutConfigItem N/A IncidentResolver Object__Set System.ConfigItem NULL System.WorkItemRelatesToConfigIte N/A IncidentResolver Object__Set System.Domain.User NULL System.WorkItem.TroubleTicketClosedByUser N/A IncidentResolver Object__Set System.Domain.User NULL System.WorkItemAssignedToUser N/A IncidentResolver Object__Set System.Domain.User NULL System.WorkItemCreatedByUser N/AImportant 最后五个操作项使你能够将配置项目与事件相关联,并将用户分配给事件。示例 3
p_GetRestrictrictionsOnOperationsInProfile存储过程的以下示例指示 ImpliedReviewer 配置文件的Object__Set操作仅限于以下类型:
-
System.Reviewer 和仅属性注释、DecisionDate 和 Decision
-
System.Reviewer 和仅关系终结点 System.ReviewerVotedByUser
-
System.Domain.User 和仅关系终结点 System.ReviewerVotedByUser
注意
-
此示例输出只是输出的示例,而不是完整的输出。
-
已向 System.Reviewer 终结点和 System.Domain.User 终结点授予System.ReviewerVotedByUserObject__Set (更新) 权限。 如果未向这两个终结点授予关系权限,则无法使用以下关系更新审阅者对象:
ProfileName 操作类型属性关系 RelationshipEndPoint
ImpliedReviewer Object__Set System.Reviewer Comments NULL N/a ImpliedReviewer Object__Set System.Reviewer DecisionDate NULL N/a ImpliedReviewer Object__Set System.Reviewer Decision NULL N/a ImpliedReviewer Object__Set System.Reviewer NULL System.ReviewerVotedByUser N/a ImpliedReviewer Object__Set System.Domain.User NULL System.ReviewerVotedByUser N/A
示例 4
以下示例演示如何使用p_AddRestrictrictionToOperationInProfile存储过程更新 Notes 属性:
exec p_AddRestrictrictionToOperationInProfile 'ImpliedReviewer', 'Object__Set', 'System.Reviewer', 'Notes', NULL, NULL
示例 5
以下示例演示如何使用p_AddRestrictrictionToOperationInProfile存储过程更新 System.WorkItemRelatesToWorkItem 关系:
exec p_AddRestrictrictionToOperationInProfile“ImpliedReviewer”、“Object__Set”、“System.Reviewer”、“NULL”、“System.WorkItemRelatesToWorkItem”、“N/A”
示例 6
以下示例演示如何使用p_AddRestrictrictionToOperationInProfile存储过程更新 Incident 类、所有属性和所有关系:
exec p_AddRestrictrictionToOperationInProfile 'ImpliedReviewer', 'Object__Set', 'System.WorkItem.Incident', NULL, NULL, 'N/A'