Acciones condicionales de Configuration Manager

Las acciones de Configuration Manager se pueden mostrar según las condiciones especificadas. Las condiciones se definen de la siguiente manera:

  • 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 va a buscar.
MatchValueToTest Especifica el valor con el que se va a comparar. El valor siguiente ##Sub es una propiedad del objeto seleccionado. La propiedad no debe ser perezosa y debe existir en el objeto de selección.

La siguiente acción muestra un cuadro de diálogo siempre que el patrón especificado (MS_ASYNC_RAS) coincida con la propiedad del AddressType objeto 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 dependiendo del resultado de una llamada de método. El ActionDescription elemento ActionStateAssembly secundario define el ensamblado, el tipo y el método a llamar. Si el método devuelve true, se muestra la acción; si el método devuelve false, la acción se oculta.

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

<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 de .NET Framework con la firma siguiente:

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

Para obtener más información sobre métodos de llamada en un ensamblado de .NET Framework, vea Acción AssemblyType de Configuration Manager.

Permisos de seguridad

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

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 El elemento principal a la lista de permisos de instancia.
SecurityFlagsDetailDescription Marcas de seguridad que deben establecerse para que la acción funcione.

En el siguiente ejemplo XML, la Delete acción para 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 utilizar el ClassPermissions elemento para establecer los permisos de clase de objeto necesarios para una acción. ActionSecurityDescription describe la clase de objeto y los permisos necesarios para dicha clase de objeto. En el ejemplo XML siguiente se describen los permisos necesarios para las colecciones de SMS:

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

Valores de permisos

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

Permiso Valores Depende de
Lectura 1 Ninguno
Modify 2 1
Delete 4 1
Distribuir 8 1
CreateChild 16 1
Control remoto 32 Ninguno
Advertise 64 1
ModifyResource 128 1
Administrar 256 7
Eliminar recurso 512 1
Crear 1024 Ninguno
ViewCollectedFiles 2048 1
ReadResource 4096 1
Delegado 8192 Ninguno
Medidor 16384 1
ManageSqlCommand 32768 1
ManageStatusFilter 65536 1
ManageFolder 131072 1
Acceso a redes 262144 1
ImportMachineEntry 524288 1
CreateMediaCertificate 1048576 1
ModifyCollectionSetting 2097152 1
ManageOsdCertificate 4194304 1

Consulta también

Configuration Manager AccionesConfiguration Manager Acción XML Configuration Manager Acción AssemblyTypeConfiguration Manager Acción ejecutable Configuration Manager Acción de grupoConfiguration Manager Acción de informeConfiguration Manager Acción ShowDialogCómo crear una acción de Configuration ManagerCómo buscar un GUID de nodo de Configuration Manager