Configuration Manager acciones condicionales

Configuration Manager acciones se pueden mostrar según las condiciones especificadas. Las condiciones se definen mediante lo siguiente:

  • Expresiones regulares

  • Llamadas a métodos

  • Permisos de seguridad

Expresiones regulares

Las expresiones regulares permiten aplicar patrones de búsqueda basados en cadenas. Los siguientes elementos especifican una expresión regular para una acción:

Elemento Descripción
MatchPattern Especifica el patrón que se debe buscar.
MatchValueToTest Especifica el valor con el que comparar. El valor siguiente ##Sub es una propiedad en el objeto seleccionado. La propiedad no debe ser diferida y debe existir en el objeto select.

La siguiente acción muestra un cuadro de diálogo siempre que el patrón especificado (MS_ASYNC_RAS) coincida con la propiedad del objeto AddressType seleccionado:

<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>  

Llamadas a métodos

Se puede mostrar una acción en función del resultado de una llamada al método. El ActionDescription elemento secundario ActionStateAssembly define el ensamblado, el tipo y el método que se va a llamar. Si el método devuelve true, se muestra la acción; si el método devuelve false, la acción está oculta.

El siguiente XML llama a un método denominado EnableDecrementPriorityMenu en el ensamblado AdminUI.Addresses.dll:

<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>  

El método se implementa en un ensamblado .NET Framework con la siguiente firma:

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

Para obtener más información acerca de los métodos de llamada en .NET Framework ensamblado, vea Configuration Manager AssemblyType Action.

Permisos de seguridad

Puede restringir la disponibilidad de una acción aplicando restricciones de seguridad al objeto u clase de objeto seleccionado.

Permisos de instancia de objeto

Puede restringir la disponibilidad de una acción aplicando los permisos necesarios al objeto seleccionado. En el siguiente ejemplo XML, los siguientes elementos especifican los permisos de instancia para el objeto seleccionado:

Elemento Descripción
InstancePermissions Elemento primario de la lista de permisos de instancia.
SecurityFlagsDetailDescription Las marcas de seguridad que se deben establecer para que la acción funcione.

En el siguiente ejemplo XML, la Delete acción de un objeto seleccionado solo está disponible si el usuario tiene permisos de modificación:

<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>  

Permisos de clase de objeto

Puede usar el elemento para ClassPermissions establecer los permisos de clase de objeto necesarios para una acción. ActionSecurityDescription describe la clase de objeto y los permisos necesarios para esa clase de objeto. En el siguiente ejemplo XML se describen los permisos necesarios para las colecciones de SMS:

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

Valores de permisos

Los valores de permisos para el atributo RequiredPermissions son los mismos que para la clase SecurityFlagsDetailDescription y son los siguientes:

Permiso Valores Depende de
Leer 1 Ninguno
Modify 2 1
Delete 4 1
Distribuir 8 1
CreateChild 16 1
RemoteControl 32 Ninguno
Advertise 64 1
ModifyResource 128 1
Administrar 256 7
DeleteResource 512 1
Crear 1024 Ninguno
ViewCollectedFiles 2048 1
ReadResource 4096 1
Delegado 8192 Ninguno
Meter 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

Consulta también

Configuration Manager acciones
Configuration Manager XML de acción
Configuration Manager AssemblyType Action
Configuration Manager ejecutable
Configuration Manager de grupo
Configuration Manager acción de informe
Configuration Manager acción ShowDialog
Cómo crear una acción Configuration Manager acción
Cómo buscar un GUID Configuration Manager nodo