Actions conditionnelles du Configuration Manager

Les actions de Configuration Manager peuvent être affichées en fonction des conditions spécifiées. Les conditions sont définies par les éléments suivants :

  • Expressions régulières

  • Appels de méthode

  • Autorisations de sécurité

Expressions régulières

Les expressions régulières vous permettent d’appliquer des modèles de recherche basés sur des chaînes. Les éléments suivants spécifient une expression régulière pour une action :

Élément Description
MatchPattern Spécifie le modèle à rechercher.
MatchValueToTest Indique la valeur à comparer. La valeur suivante ##Sub est une propriété de l’objet sélectionné. La propriété ne doit pas être différée et doit exister sur l’objet select.

L’action suivante affiche une boîte de dialogue chaque fois que le modèle spécifié (MS_ASYNC_RAS) correspond à la propriété de l’objet AddressType sélectionné :

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

Appels de méthode

Une action peut être affichée en fonction du résultat d’un appel de méthode. L’élément ActionDescriptionActionStateAssembly enfant définit l’assembly, le type et la méthode à appeler. Si la méthode renvoie true, l’action s’affiche ; si la méthode retourne false, l’action est masquée.

Le code XML suivant appelle une méthode nommée EnableDecrementPriorityMenu dans la AdminUI.Addresses.dll de l’assembly :

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

La méthode est implémentée dans un assembly .NET Framework avec la signature suivante :

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

Pour plus d’informations sur l’appel de méthodes dans un assembly .NET Framework, voir Action de type d’assembly du Configuration Manager.

Autorisations de sécurité

Vous pouvez restreindre la disponibilité d’une action en appliquant des restrictions de sécurité à l’objet ou à la classe d’objet sélectionné.

Autorisations d’instance d’objet

Vous pouvez restreindre la disponibilité d’une action en appliquant les autorisations requises à l’objet sélectionné. Dans l’exemple XML suivant, les éléments suivants spécifient les autorisations d’instance pour l’objet sélectionné :

Élément Description
InstancePermissions Élément parent de la liste des autorisations d’instance.
SecurityFlagsDetailDescription Indicateurs de sécurité qui doivent être définis pour que l’action fonctionne.

Dans l’exemple XML suivant, l’action Delete pour un objet sélectionné est disponible uniquement si l’utilisateur dispose des autorisations de modification :

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

Autorisations de classe d’objet

Vous pouvez utiliser l’élément ClassPermissions pour définir les autorisations de classe d’objet requises pour une action. ActionSecurityDescription décrit la classe d’objet et les autorisations requises pour cette classe d’objet. L’exemple XML suivant décrit les autorisations requises pour les collections de SMS :

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

Valeurs d’autorisation

Les valeurs d’autorisation pour l’attribut RequiredPermissions sont les mêmes que pour la classe SecurityFlagsDetailDescription et se présentent comme suit :

Autorisation Values Dépend de
Lire 1 Aucun
Modifier 2 1
Supprimer 4 1
Distribuer 8 1
CreateChild 16 1
Contrôle à distance 32 Aucun
Advertise 64 1
ModifyResource 128 1
Administrer 256 7
Supprimer une ressource 512 1
Create 1024 Aucun
ViewCollectedFiles 2048 1
ReadResource 4096 1
Délégué 8192 Aucun
Compteur 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

Voir aussi

Actions du Configuration Manager: action XMLConfiguration ManagerAssemblyType action:Action exécutable de Configuration Manager :Configuration Manager : action exécutable :Configuration Manager Action de groupeAction de rapport de Configuration Manager :Action ShowDialog du Configuration ManagerComment créer une action de Configuration ManagerComment trouver un GUID de nœud du Configuration Manager