Configuration Manager条件操作

可以根据指定的条件显示Configuration Manager操作。 这些条件由以下项定义:

  • 正则表达式

  • 方法调用

  • 安全权限

正则表达式

正则表达式允许应用基于字符串的搜索模式。 以下元素指定操作的正则表达式:

元素 说明
MatchPattern 指定要搜索的模式。
MatchValueToTest 指定要进行比较的值。 下面的 ##Sub 值是所选对象的属性。 属性不能是惰性属性,并且必须存在于 select 对象上。

每当指定的模式 (MS_ASYNC_RAS) 与所选对象的 AddressType 属性匹配时,以下操作将显示一个对话框:

<ActionDescription ActionVerb="Properties" Class="ShowDialog">  <ShowOn>  <string>DefaultContextualTab</string> <!-- Show on Ribbon -->           <string>ContextMenu</string> <!-- Show on Context Menu -->   </ShowOn>  <MatchPattern>MS_ASYNC_RAS</MatchPattern>  
 <MatchValueToTest>##SUB:AddressType##</MatchValueToTest>  
 <DialogId>AsyncRasSenderAddress</DialogId></ActionDescription>  

方法调用

可以根据方法调用的结果显示操作。 子 ActionDescription 元素 ActionStateAssembly 定义要调用的程序集、类型和方法。 如果 方法返回 true,则显示操作;如果方法返回 false,则隐藏操作。

以下 XML 调用程序集AdminUI.Addresses.dll中名为 EnableDecrementPriorityMenu 的方法:

<ActionDescription>  
 <ShowOn>  
    <string>DefaultContextualTab</string> <!-- Show on Ribbon -->         <string>ContextMenu</string><!-- Show on Context Menu --> </ShowOn> <ActionStateAssembly>  
  <Assembly>AdminUI.Addresses.dll</Assembly>   <Type>Microsoft.ConfigurationManagement.AdminConsole.Addresses.AddressUtilityClass</Type>  
  <Method>EnableDecrementPriorityMenu</Method> </ActionStateAssembly>  
</ActionDescription>  

方法在具有以下签名的 .NET Framework 程序集中实现:

public static bool EnableDecrementPriority(object sender, ScopeNode scopeNode, ActionDescription action, ResultObjectBase resultObject)

有关在.NET Framework程序集中调用方法的详细信息,请参阅 Configuration Manager AssemblyType Action

安全权限

可以通过对所选对象或对象类应用安全限制来限制操作的可用性。

对象实例权限

可以通过对所选对象应用所需权限来限制操作的可用性。 在以下 XML 示例中,以下元素指定所选对象的实例权限:

元素 说明
InstancePermissions 实例权限列表的父元素。
SecurityFlagsDetailDescription 要使操作正常工作,必须设置的安全标志。

在以下 XML 示例中, Delete 仅当用户具有修改权限时,所选对象的操作才可用:

<ActionDescription ActionVerb="Delete" Class="Default" SelectionMode="Both" InstanceDependsOn="SMS_Site">  
<ShowOn> <string>DefaultContextualTab</string> <!-- Show on Ribbon -->    <string>ContextMenu</string> <!-- Show on Context Menu --></ShowOn><InstancePermissions><SecurityFlagsDetailDescription BitName="Modify" BitValue="2" DependsOn="1" /></InstancePermissions>  
</ActionDescription>  

对象类权限

可以使用 ClassPermissions 元素来设置操作所需的对象类权限。 ActionSecurityDescription 描述对象类以及该对象类所需的权限。 以下 XML 示例描述了 SMS 集合所需的权限:

<ClassPermissions> <ActionSecurityDescription ClassObject="SMS_Collection" RequiredPermissions="1280" />  
</ClassPermissions>  

权限值

RequiredPermissions 属性的权限值与 SecurityFlagsDetailDescription 类的权限值相同,如下所示:

权限 取决于
读取 1
修改 2 1
删除 4 1
分散对齐 8 1
CreateChild 16 1
RemoteControl 32
Advertise 64 1
ModifyResource 128 1
管理 256 7
DeleteResource 512 1
Create 1024
ViewCollectedFiles 2048 1
ReadResource 4096 1
委派用户 8192
16384 1
ManageSqlCommand 32768 1
ManageStatusFilter 65536 1
ManageFolder 131072 1
NetworkAccess 262144 1
ImportMachineEntry 524288 1
CreateMediaCertificate 1048576 1
ModifyCollectionSetting 2097152 1
ManageOsdCertificate 4194304 1

另请参阅

Configuration Manager操作
Configuration Manager 操作 XML
Configuration Manager AssemblyType 操作
Configuration Manager可执行操作
Configuration Manager组操作
Configuration Manager报告操作
Configuration Manager ShowDialog 操作
如何创建Configuration Manager操作
如何查找Configuration Manager节点 GUID