Caspol.exe (outil Stratégie de sécurité d'accès du code)Caspol.exe (Code Access Security Policy Tool)

L'outil Stratégie de sécurité d'accès du code (CAS) (Caspol.exe) permet aux utilisateurs et aux administrateurs de modifier la stratégie de sécurité au niveau de l'ordinateur, de l'utilisateur et de l'entreprise.The Code Access Security (CAS) Policy tool (Caspol.exe) enables users and administrators to modify security policy for the machine policy level, the user policy level, and the enterprise policy level.

Important

À partir du .NET Framework 4, Caspol.exe n’affecte pas la stratégie CAS, sauf si l' <legacyCasPolicy> élément a la valeur true .Starting with the .NET Framework 4, Caspol.exe does not affect CAS policy unless the <legacyCasPolicy> element is set to true. Tous les paramètres affichés ou modifiés par CasPol.exe affectent uniquement les applications qui choisissent d'utiliser la stratégie CAS.Any settings shown or modified by CasPol.exe will only affect applications that opt into using CAS policy. Pour plus d’informations, consultez Changements en matière de sécurité.For more information, see Security Changes.

Notes

Les ordinateurs 64 bits comprennent des versions 64 bits et 32 bits de stratégie de sécurité.64-bit computers include both 64-bit and 32-bit versions of security policy. Pour garantir que vos modifications de stratégie s'appliquent aux applications 32 bits et 64 bits, exécutez les versions 32 bits et 64 bits de Caspol.exe.To ensure that your policy changes apply to both 32-bit and 64-bit applications, run both the 32-bit and 64-bit versions of Caspol.exe.

Cet outil est automatiquement installé avec le .NET Framework et Visual Studio.The Code Access Security Policy tool is automatically installed with the .NET Framework and with Visual Studio. Vous trouverez Caspol.exe dans le répertoire %windir%\Microsoft.NET\Framework\version sur les systèmes 32 bits ou %windir%\Microsoft.NET\Framework64\version sur les systèmes 64 bits.You can find Caspol.exe in %windir%\Microsoft.NET\Framework\version on 32-bit systems or %windir%\Microsoft.NET\Framework64\version on 64-bit systems. (Par exemple, l’emplacement est% windir% \Microsoft.NET\Framework64\v4.030319\caspol.exe pour le .NET Framework 4 sur un système 64 bits.) Plusieurs versions de l’outil peuvent être installées si votre ordinateur exécute plusieurs versions du .NET Framework côte à côte.(For example, the location is %windir%\Microsoft.NET\Framework64\v4.030319\caspol.exe for the .NET Framework 4 on a 64-bit system.) Multiple versions of the tool might be installed if your computer is running multiple versions of the .NET Framework side by side. Vous pouvez exécuter l'outil depuis le répertoire d'installation.You can run the tool from the installation directory. Toutefois, nous vous recommandons d'utiliser les Invites de commandes, qui vous évitent de devoir accéder au dossier d’installation.However, we recommend that you use the Command Prompts, which does not require you to navigate to the installation folder.

À l'invite de commandes, tapez :At the command prompt, type the following:

SyntaxeSyntax

caspol [options]  

ParamètresParameters

OptionOption DescriptionDescription
-addfulltrust assembly_file-addfulltrust assembly_file

oror

-af assembly_file-af assembly_file
Ajoute un assembly qui implémente un objet de sécurité personnalisé (autorisation personnalisée ou condition d'appartenance personnalisée) à la liste des assemblys de confiance pour un niveau de stratégie précis.Adds an assembly that implements a custom security object (such as a custom permission or a custom membership condition) to the full trust assembly list for a specific policy level. L’argument assembly_file spécifie l’assembly à ajouter.The assembly_file argument specifies the assembly to add. Ce fichier doit être signé avec un nom fort.This file must be signed with a strong name. Vous pouvez signer un assembly avec un nom fort à l'aide de l’outil Strong Name (Sn.exe).You can sign an assembly with a strong name using the Strong Name Tool (Sn.exe).

Lorsqu'un jeu d'autorisations contenant une autorisation personnalisée est ajouté à la stratégie, l'assembly implémentant cette autorisation personnalisée doit être ajouté à la liste des assemblys de confiance totale pour le niveau de stratégie considéré.Whenever a permission set containing a custom permission is added to policy, the assembly implementing the custom permission must be added to the full trust list for that policy level. Les assemblys qui implémentent des objets de sécurité personnalisés (groupes de codes ou conditions d'appartenance personnalisés) et utilisés dans une stratégie de sécurité (stratégie de l'ordinateur notamment) doivent toujours être ajoutés à la liste des assemblys de confiance totale.Assemblies that implement custom security objects (such as custom code groups or membership conditions) used in a security policy (such as the machine policy) should always be added to the full trust assembly list. Attention : Si l'assembly qui implémente l'objet de sécurité personnalisé référence d'autres assemblys, vous devez d'abord ajouter les assemblys référencés à la liste des assemblys de confiance totale.Caution: If the assembly implementing the custom security object references other assemblies, you must first add the referenced assemblies to the full trust assembly list. Les objets de sécurité personnalisés créés à l'aide de Visual Basic, C++ et JScript référencent Microsoft.VisualBasic.dll, Microsoft.VisualC.dll ou Microsoft.JScript.dll, respectivement.Custom security objects created using Visual Basic, C++, and JScript reference either Microsoft.VisualBasic.dll, Microsoft.VisualC.dll, or Microsoft.JScript.dll, respectively. Ces assemblys ne sont pas par défaut dans la liste des assemblys de confiance totale.These assemblies are not in the full trust assembly list by default. Vous devez ajouter l'assembly approprié à la liste de confiance totale avant d'ajouter un objet de sécurité personnalisé.You must add the appropriate assembly to the full trust list before you add a custom security object. Dans le cas contraire, vous risquez de perturber le système de sécurité et de provoquer l'échec du chargement de tous les assemblys.Failure to do so will break the security system, causing all assemblies to fail to load. Dans ce cas, l'option -all -reset de Caspol.exe ne répare pas la sécurité.In this situation, the Caspol.exe -all -reset option will not repair security. Pour corriger la sécurité, vous devez manuellement modifier les fichiers de sécurité pour supprimer l'objet de sécurité personnalisé.To repair security, you must manually edit the security files to remove the custom security object.
-addgroup {parent_label | parent_name} mship pset_name [flags]-addgroup {parent_label | parent_name} mship pset_name [flags]

oror

-ag {parent_label | parent_name} mship pset_name [flags]-ag {parent_label | parent_name} mship pset_name [flags]
Ajoute un nouveau groupe de codes à la hiérarchie des groupes de codes.Adds a new code group to the code group hierarchy. Vous pouvez spécifier l'argument parent_label ou parent_name.You can specify either the parent_label or parent_name. L'argument parent_label indique l'étiquette (par ex., 1.The parent_label argument specifies the label (such as 1. ou 1.1.) du groupe de codes parent du groupe de codes ajouté.or 1.1.) of the code group that is the parent of the code group being added. L'argument parent_name indique le nom du groupe de codes parent du groupe de codes ajouté.The parent_name argument specifies the name of the code group that is the parent of the code group being added. Comme parent_label et parent_name peuvent être utilisés indifféremment, Caspol.exe doit être capable de faire la distinction entre les deux.Because parent_label and parent_name can be used interchangeably, Caspol.exe must be able to distinguish between them. Par conséquent, parent_name ne peut pas commencer par un chiffre.Therefore, parent_name cannot begin with a number. Par ailleurs, parent_name ne peut contenir que les lettres de A à Z, les chiffres de 0 à 9 et le caractère de soulignement.Additionally, parent_name can only contain A-Z, 0-9 and the underscore character.

L'argument mship spécifie la condition d'appartenance au nouveau groupe de codes.The mship argument specifies the membership condition for the new code group. Pour plus d’informations, consultez le tableau des arguments mship, plus loin dans cette section.For more information, see the table of mship arguments later in this section.

L’argument pset_name est le nom du jeu d’autorisations associé au nouveau groupe de codes.The pset_name argument is the name of the permission set that will be associated with the new code group. Vous pouvez également définir un ou plusieurs flags pour le nouveau groupe.You can also set one or more flags for the new group. Pour plus d’informations, consultez le tableau des arguments flags, plus loin dans cette section.For more information, see the table of flags arguments later in this section.
-addpset {psfile | psfile pset_name}-addpset {psfile | psfile pset_name}

oror

-ap {namedpsfile | psfile pset_name}-ap {namedpsfile | psfile pset_name}
Ajoute un nouveau jeu d'autorisations nommé à la stratégie.Adds a new named permission set to policy. Ce jeu d'autorisations doit être créé au format XML et stocké dans un fichier .xml.The permission set must be authored in XML and stored in an .xml file. Si le fichier XML contient le nom du jeu d'autorisations, seul ce fichier (psfile) est spécifié.If the XML file contains the name of the permission set, only that file (psfile) is specified. Si le fichier XML ne contient pas le nom du jeu d'autorisations, vous devez spécifier à la fois le nom du fichier XML (psfile) et le nom du jeu d'autorisations (pset_name).If the XML file does not contain the permission set name, you must specify both the XML file name (psfile) and the permission set name (pset_name).

Notez que toutes les autorisations utilisées dans un jeu d'autorisations doivent être définies dans les assemblys contenus dans le Global Assembly Cache.Note that all permissions used in a permission set must be defined in assemblies contained in the global assembly cache.
-a[ll]-a[ll] Indique que toutes les options qui suivent celle-ci s'appliquent aux stratégies de l'ordinateur, de l'utilisateur et de l'entreprise.Indicates that all options following this one apply to the machine, user, and enterprise policies. L'option -all fait toujours référence à la stratégie de l'utilisateur actuellement connecté.The -all option always refers to the policy of the currently logged-on user. Pour faire référence à la stratégie d'un autre utilisateur que l'utilisateur actuel, utilisez l'option -customall.See the -customall option to refer to the user policy of a user other than the current user.
-chggroup {label |name} {mship | pset_name |-chggroup {label |name} {mship | pset_name |

flags }flags }

oror

-cg {label |name} {mship | pset_name |-cg {label |name} {mship | pset_name |

flags }flags }
Change la condition d'appartenance ou le jeu d'autorisations d'un groupe de codes ou change les paramètres des indicateurs exclusive, levelfinal, name et description.Changes a code group's membership condition, permission set, or the settings of the exclusive, levelfinal, name, or description flags. Vous pouvez spécifier l'argument label ou l'argument name.You can specify either the label or name. L'argument label indique l'étiquette (par ex., 1.The label argument specifies the label (such as 1. ou 1.1.) du groupe de codes.or 1.1.) of the code group. L'argument name indique le nom du groupe de codes à modifier.The name argument specifies the name of the code group to change. Comme label et name peuvent être utilisés indifféremment, Caspol.exe doit être capable de faire la distinction entre les deux.Because label and name can be used interchangeably, Caspol.exe must be able to distinguish between them. Par conséquent, name ne peut pas commencer par un chiffre.Therefore, name cannot begin with a number. Par ailleurs, name ne peut contenir que les lettres de A à Z, les chiffres de 0 à 9 et le caractère de soulignement.Additionally, name can only contain A-Z, 0-9 and the underscore character.

L’argument pset_name indique le nom du jeu d’autorisations à associer au groupe de codes.The pset_name argument specifies the name of the permission set to associate with the code group. Consultez les tableaux fournis plus loin dans cette section pour plus d’informations sur les arguments mship et flags.See the tables later in this section for information on the mship and flags arguments.
-chgpset psfile pset_name-chgpset psfile pset_name

oror

-cp psfile pset_name-cp psfile pset_name
Change le jeu d'autorisations nommé.Changes a named permission set. L’argument psfile fournit la nouvelle définition du jeu d’autorisations ; il s’agit d’un fichier de jeu d’autorisations sérialisé au format XML.The psfile argument supplies the new definition for the permission set; it is a serialized permission set file in XML format. L’argument pset_name spécifie le nom du jeu d’autorisations que vous souhaitez remplacer.The pset_name argument specifies the name of the permission set you want to change.
-customall path-customall path

oror

-ca path-ca path
Indique que toutes les options qui suivent celle-ci s'appliquent aux stratégies de l'ordinateur, de l'entreprise et de l'utilisateur personnalisé spécifié.Indicates that all options following this one apply to the machine, enterprise, and the specified custom user policies. Vous devez spécifier l’emplacement du fichier de configuration de sécurité associé à l’utilisateur personnalisé dans l’argument path.You must specify the location of the custom user's security configuration file with the path argument.
-cu[stomuser] path-cu[stomuser] path Permet d'administrer une stratégie d'utilisateur personnalisée qui n'appartient pas à l'utilisateur pour lequel Caspol.exe s'exécute.Allows the administration of a custom user policy that does not belong to the user on whose behalf Caspol.exe is currently running. Vous devez spécifier l’emplacement du fichier de configuration de sécurité associé à l’utilisateur personnalisé dans l’argument path.You must specify the location of the custom user's security configuration file with the path argument.
-entreprise-enterprise

oror

-en-en
Indique que toutes les options qui suivent celle-ci s'appliquent à la stratégie de niveau entreprise.Indicates that all options following this one apply to the enterprise level policy. Les utilisateurs qui ne sont pas des administrateurs de l'entreprise ne bénéficient pas d'autorisations suffisantes pour modifier la stratégie de l'entreprise, même s'ils peuvent l'afficher.Users who are not enterprise administrators do not have sufficient rights to modify the enterprise policy, although they can view it. Dans les scénarios qui ne se situent pas au niveau de l'entreprise, cette stratégie n'a, par défaut, aucune incidence sur les stratégies de niveau ordinateur et utilisateur.In nonenterprise scenarios, this policy, by default, does not interfere with machine and user policy.
-e[xecution] {on | off}-e[xecution] {on | off} Active ou désactive le mécanisme qui vérifie l'autorisation à mettre en œuvre avant que le code ne commence à s'exécuter.Turns on or off the mechanism that checks for the permission to run before code starts to execute. Remarque : Ce commutateur est supprimé du .NET Framework 4 et versions ultérieures.Note: This switch is removed in the .NET Framework 4 and later versions. Pour plus d’informations, consultez Changements en matière de sécurité.For more information, see Security Changes.
-f[Orce]-f[orce] Supprime le test d'autodestruction de l'outil et modifie la stratégie selon les instructions de l'utilisateur.Suppresses the tool's self-destruct test and changes the policy as specified by the user. Normalement, Caspol.exe vérifie si les changements de stratégie sont susceptibles de nuire à son exécution correcte. Le cas échéant, Caspol.exe n'enregistre pas la modification et imprime un message d'erreur.Normally, Caspol.exe checks whether any policy changes would prevent Caspol.exe itself from running properly; if so, Caspol.exe does not save the policy change and prints an error message. Pour obliger Caspol.exe à modifier la stratégie même si cela l'empêche de s'exécuter, utilisez l'option –force.To force Caspol.exe to change policy even if this prevents Caspol.exe itself from running, use the –force option.
-h[IDE]-h[elp] Affiche la syntaxe de commande et les options de Caspol.exe.Displays command syntax and options for Caspol.exe.
-l[ist]-l[ist] Affiche la hiérarchie des groupes de codes et les jeux d'autorisations définis pour l'ordinateur, l'utilisateur ou l'entreprise spécifiés ou pour tous les niveaux de stratégie.Lists the code group hierarchy and the permission sets for the specified machine, user, enterprise, or all policy levels. Caspol.exe affiche d'abord l'étiquette du groupe de codes, puis son nom s'il n'est pas nul.Caspol.exe displays the code group's label first, followed by the name, if it is not null.
-listdescription-listdescription

oror

-LD-ld
Affiche les descriptions de tous les groupes de codes définis pour le niveau de stratégie spécifié.Lists all code group descriptions for the specified policy level.
-listfulltrust-listfulltrust

oror

-LF-lf
Affiche le contenu de la liste des assemblys de confiance totale pour le niveau de stratégie spécifié.Lists the contents of the full trust assembly list for the specified policy level.
-listgroups-listgroups

oror

-LG-lg
Affiche les groupes de codes du niveau de stratégie spécifié ou de tous les niveaux de stratégie.Displays the code groups of the specified policy level or all policy levels. Caspol.exe affiche d'abord l'étiquette du groupe de codes, puis son nom s'il n'est pas nul.Caspol.exe displays the code group's label first, followed by the name, if it is not null.
-listpset ou -lp-listpset or -lp Affiche les jeux d'autorisations associés au niveau de stratégie spécifié ou à tous les niveaux de stratégie.Displays the permission sets for the specified policy level or all policy levels.
-m[achine]-m[achine] Indique que toutes les options qui suivent celle-ci s'appliquent à la stratégie de niveau ordinateur.Indicates that all options following this one apply to the machine level policy. Les utilisateurs qui ne sont pas des administrateurs ne bénéficient pas d'autorisations suffisantes pour modifier la stratégie de l'ordinateur, même s'ils peuvent l'afficher.Users who are not administrators do not have sufficient rights to modify the machine policy, although they can view it. Pour les administrateurs, -machine est l'option par défaut.For administrators, -machine is the default.
-polchgprompt {on | off}-polchgprompt {on | off}

oror

-pp {on | off}-pp {on | off}
Active ou désactive l'invite de commandes qui s'affiche lorsque Caspol.exe est exécuté avec une option susceptible d'entraîner des changements de stratégie.Enables or disables the prompt that is displayed whenever Caspol.exe is run using an option that would cause policy changes.
-quiet-quiet

oror

-q-q
Désactive temporairement l'invite normalement affichée pour une option entraînant des changements de stratégie.Temporarily disables the prompt that is normally displayed for an option that causes policy changes. Le paramètre de l'invite de modification globale ne change pas.The global change prompt setting does not change. Utilisez l'option pour une seule commande à la fois afin d'éviter de désactiver l'invite pour toutes les commandes Caspol.exe.Use the option only on a single command basis to avoid disabling the prompt for all Caspol.exe commands.
-r[Ecover]-r[ecover] Restaure une stratégie à partir d'un fichier de sauvegarde.Recovers policy from a backup file. Dès qu'une stratégie est modifiée, Caspol.exe stocke l'ancienne stratégie dans un fichier de sauvegarde.Whenever a policy change is made, Caspol.exe stores the old policy in a backup file.
-remfulltrust assembly_file-remfulltrust assembly_file

oror

-rf assembly_file-rf assembly_file
Supprime un assembly de la liste des assemblys de confiance totale associée à un niveau de stratégie donné.Removes an assembly from the full trust list of a policy level. Cette opération s'impose lorsqu'un jeu d'autorisations contenant une autorisation personnalisée n'est plus utilisé par la stratégie.This operation should be performed if a permission set that contains a custom permission is no longer used by policy. Toutefois, vous ne devez supprimer un assembly qui implémente une autorisation personnalisée de la liste des assemblys de confiance totale que si cet assembly n'implémente aucune autre autorisation personnalisée en cours d'utilisation.However, you should remove an assembly that implements a custom permission from the full trust list only if the assembly does not implement any other custom permissions that are still being used. Lorsque vous supprimez un assembly de la liste, vous devez également supprimer les assemblys dont il dépend.When you remove an assembly from the list, you should also remove any other assemblies that it depends on.
-remgroup {label |name}-remgroup {label |name}

oror

-rg {label | name}-rg {label | name}
Supprime le groupe de codes spécifié par son étiquette ou son nom.Removes the code group specified by either its label or name. Si le groupe de codes spécifié comprend des groupes de codes enfants, Caspol.exe supprime également ces groupes enfants.If the specified code group has child code groups, Caspol.exe also removes all the child code groups.
-rempset pset_name-rempset pset_name

oror

-rp pset_name-rp pset_name
Supprime de la stratégie le jeu d'autorisations spécifié.Removes the specified permission set from policy. L'argument pset_name indique le jeu d'autorisations à supprimer.The pset_name argument indicates which permission set to remove. Caspol.exe ne supprime le jeu d'autorisations que s'il n'est pas associé à un groupe de codes.Caspol.exe removes the permission set only if it is not associated with any code group. Il n'est pas possible de supprimer les jeux d'autorisations par défaut (intégrés).The default (built-in) permission sets cannot be removed.
-réinitialisation-reset

oror

-RS-rs
Retourne l'état par défaut de la stratégie et l'enregistre sur le disque.Returns policy to its default state and persists it to disk. Cette option est utile lorsqu'une stratégie modifiée semble irréparable et que vous souhaitez recommencer avec les paramètres d'installation par défaut.This is useful whenever a changed policy seems to be beyond repair and you want to start over with the installation defaults. Il peut également être commode de procéder à une réinitialisation pour utiliser la stratégie par défaut comme point de départ et apporter ensuite des modifications à des fichiers de configuration de sécurité spécifiques.Resetting can also be convenient when you want to use the default policy as a starting point for modifications to specific security configuration files. Pour plus d'informations, consultez Modification manuelle des fichiers de configuration de sécurité.For more information, see Manually Editing the Security Configuration Files.
-resetlockdown-resetlockdown

oror

-rsld-rsld
Retourne la version plus restrictive de l'état par défaut de la stratégie et l'enregistre sur le disque ; crée une sauvegarde de la stratégie antérieure de l'ordinateur et l'enregistre sur un fichier security.config.bac.Returns policy to a more restrictive version of the default state and persists it to disk; creates a backup of the previous machine policy and persists it to a file called security.config.bac. La stratégie verrouillée est similaire à la stratégie par défaut, mais elle n'accorde aucune autorisation pour coder à partir des zones Local Intranet, Trusted Sites et Internet et les groupes de codes correspondants n'ont pas de groupes de codes enfants.The locked down policy is similar to the default policy, except that the policy grants no permission to code from the Local Intranet, Trusted Sites, and Internet zones and the corresponding code groups have no child code groups.
-resolvegroup assembly_file-resolvegroup assembly_file

oror

-rsg assembly_file-rsg assembly_file
Affiche les groupes de codes auxquels appartient un assembly particulier (assembly_file).Shows the code groups that a specific assembly (assembly_file) belongs to. Par défaut, cette option affiche la stratégie de niveau ordinateur, utilisateur et entreprise auxquels appartient l'assembly.By default, this option displays the machine, user, and enterprise policy levels to which the assembly belongs. Pour afficher un seul niveau de stratégie, utilisez cette option avec l'option -machine, -user ou -enterprise.To view only one policy level, use this option with either the -machine, -user, or -enterprise option.
-resolveperm assembly_file-resolveperm assembly_file

oror

-rsp assembly_file-rsp assembly_file
Affiche toutes les autorisations que le niveau de stratégie de sécurité spécifié (ou par défaut) accorderait à l'assembly si ce dernier avait la possibilité de s'exécuter.Displays all permissions that the specified (or default) level of security policy would grant the assembly if the assembly were allowed to run. L’argument assembly_file spécifie l’assembly.The assembly_file argument specifies the assembly. Si vous spécifiez l'option -all, Caspol.exe calcule les autorisations de l'assembly sur la base de la stratégie de l'utilisateur, de l'ordinateur et de l'entreprise ; sinon, les règles de comportement par défaut s'appliquent.If you specify the -all option, Caspol.exe calculates the permissions for the assembly based on user, machine, and enterprise policy; otherwise, default behavior rules apply.
-s[ecurity] {on | off}-s[ecurity] {on | off} Active ou désactive la sécurité d'accès du code.Turns code access security on or off. L'option -s off ne désactive pas la sécurité basée sur les rôles.Specifying the -s off option does not disable role-based security. Remarque : Ce commutateur est supprimé du .NET Framework 4 et versions ultérieures.Note: This switch is removed in the .NET Framework 4 and later versions. Pour plus d’informations, consultez Changements en matière de sécurité.For more information, see Security Changes. Attention : Quand la sécurité d'accès du code est désactivée, toutes les demandes d'accès au code aboutissent.Caution: When code access security is disabled, all code access demands succeed. La désactivation de la sécurité expose le système aux attaques de code nuisible tel que les virus et les vers.Disabling code access security makes the system vulnerable to attacks by malicious code such as viruses and worms. La désactivation de la sécurité permet d'améliorer les performances, mais ne doit être utilisée que lorsque d'autres mesures de sécurité ont été prises pour permettre de s'assurer que la sécurité globale du système ne sera pas compromise.Turning off security gains some extra performance but should only be done when other security measures have been taken to help make sure overall system security is not breached. Ces autres mesures de sécurité consistent notamment à déconnecter les réseaux publics, à sécuriser physiquement les ordinateurs, etc.Examples of other security precautions include disconnecting from public networks, physically securing computers, and so on.
-u[ser]-u[ser] Indique que toutes les options qui suivent celle-ci s'appliquent à la stratégie de niveau utilisateur associée à l'utilisateur pour le compte duquel Caspol.exe est exécuté.Indicates that all options following this one apply to the user level policy for the user on whose behalf Caspol.exe is running. Pour les utilisateurs qui ne sont pas des administrateurs, -user est l'option par défaut.For nonadministrative users, -user is the default.
-?-? Affiche la syntaxe de commande et les options de Caspol.exe.Displays command syntax and options for Caspol.exe.

L'argument mship qui spécifie la condition d'appartenance d’un groupe de codes peut être utilisé avec les options -addgroup et -chggroup.The mship argument, which specifies the membership condition for a code group, can be used with the -addgroup and -chggroup options. Chaque argument mship est implémenté comme classe .NET Framework.Each mship argument is implemented as a .NET Framework class. Pour spécifier mship, utilisez l’une des solutions suivantes.To specify mship, use one of the following.

ArgumentArgument DescriptionDescription
-allcode-allcode Spécifie l'ensemble du code.Specifies all code. Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.AllMembershipCondition.For more information about this membership condition, see System.Security.Policy.AllMembershipCondition.
-appdir-appdir Spécifie le répertoire de l'application.Specifies the application directory. Si vous spécifiez –appdir comme condition d'appartenance, la preuve fournie par l'URL du code est comparée à la preuve fournie par le répertoire d'application du même code.If you specify –appdir as the membership condition, the URL evidence of code is compared with the application directory evidence of that code. Si les deux preuves sont identiques, la condition d'appartenance est satisfaite.If both evidence values are the same, this membership condition is satisfied. Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.ApplicationDirectoryMembershipCondition.For more information about this membership condition, see System.Security.Policy.ApplicationDirectoryMembershipCondition.
-custom xmlfile-custom xmlfile Ajoute une condition d'appartenance personnalisée.Adds a custom membership condition. L’argument obligatoire xmlfile spécifie le fichier .xml qui contient la sérialisation XML de la condition d’appartenance personnalisée.The mandatory xmlfile argument specifies the .xml file that contains XML serialization of the custom membership condition.
-hash hashAlg {-hex hashValue | -file assembly_file }-hash hashAlg {-hex hashValue | -file assembly_file } Spécifie un code qui contient la valeur de hachage de l'assembly donné.Specifies code that has the given assembly hash. Pour utiliser une valeur de hachage comme condition d'appartenance à un groupe de codes, vous devez spécifier la valeur de hachage ou le fichier d'assembly.To use a hash as a code group membership condition, you must specify either the hash value or the assembly file. Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.HashMembershipCondition.For more information about this membership condition, see System.Security.Policy.HashMembershipCondition.
-pub { -cert cert_file_name |-pub { -cert cert_file_name |

-file signed_file_name | -hex hex_string }-file signed_file_name | -hex hex_string }
Spécifie un code qui présente l'éditeur de logiciel indiqué par un fichier de certificat, une signature sur un fichier ou la représentation hexadécimale d'un certificat X509.Specifies code that has the given software publisher, as denoted by a certificate file, a signature on a file, or the hexadecimal representation of an X509 certificate. Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.PublisherMembershipCondition.For more information about this membership condition, see System.Security.Policy.PublisherMembershipCondition.
-site website-site website Spécifie un code qui présente le site d'origine donné.Specifies code that has the given site of origin. Exemple :For example:

-site** www.proseware.com

Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.SiteMembershipCondition.For more information about this membership condition, see System.Security.Policy.SiteMembershipCondition.
-strong -file file_name {name | -noname} {version | -noversion}-strong -file file_name {name | -noname} {version | -noversion} Spécifie un code avec un nom fort spécifique désigné par son nom de fichier, le nom de l'assembly (chaîne) et la version de l'assembly au format major.minor.build.revision.Specifies code that has a specific strong name, as designated by the file name, the assembly name as a string, and the assembly version in the format major.minor.build.revision. Exemple :For example:

-strong -file myAssembly.exe myAssembly 1.2.3.4-strong -file myAssembly.exe myAssembly 1.2.3.4

Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.StrongNameMembershipCondition.For more information about this membership condition, see System.Security.Policy.StrongNameMembershipCondition.
-url URL-url URL Spécifie un code qui provient de l'URL donnée.Specifies code that originates from the given URL. L'URL doit contenir un protocole, tel que http:// ou ftp://.The URL must include a protocol, such as http:// or ftp://. Par ailleurs, un caractère générique (*) peut être utilisé pour spécifier plusieurs assemblys pour une même URL.Additionally, a wildcard character (*) can be used to specify multiple assemblies from a particular URL. Remarque : Parce qu'une URL peut être identifiée à l'aide de plusieurs noms, l'utilisation d'une URL comme condition d'appartenance n'est pas un moyen sûr d'établir l'identité du code.Note: Because a URL can be identified using multiple names, using a URL as a membership condition is not a safe way to ascertain the identity of code. Lorsque cela est possible, utilisez une condition d'appartenance à nom fort, une condition d'appartenance d'un éditeur ou la condition d'appartenance de hachage.Where possible, use a strong name membership condition, a publisher membership condition, or the hash membership condition.

Pour plus d’informations sur cette condition d’appartenance, consultez System.Security.Policy.UrlMembershipCondition.For more information about this membership condition, see System.Security.Policy.UrlMembershipCondition.
-zone zonename-zone zonename Spécifie un code qui présente la zone d'origine donnée.Specifies code with the given zone of origin. L'argument zonename peut avoir l'une des valeurs suivantes : MyComputer, Intranet, Trusted, Internet ou Untrusted.The zonename argument can be one of the following values: MyComputer, Intranet, Trusted, Internet, or Untrusted. Pour plus d'informations sur cette condition d'appartenance, reportez-vous à la classe ZoneMembershipCondition.For more information about this membership condition, see the ZoneMembershipCondition Class.

L’argument flags qui peut être utilisé avec les options –addgroup et –chggroup est spécifié de la façon suivante.The flags argument, which can be used with the –addgroup and –chggroup options, is specified using one of the following.

ArgumentArgument DescriptionDescription
-description "description"-description "description" S’il est utilisé avec l'option –addgroup, spécifie la description d'un groupe de codes à ajouter.If used with the –addgroup option, specifies the description for a code group to add. S’il est utilisé avec l'option –chggroup, spécifie la description d'un groupe de codes à modifier.If used with the –chggroup option, specifies the description for a code group to edit. L’argument description doit être entouré de guillemets doubles.The description argument must be enclosed in double quotes.
-exclusive {on|off}-exclusive {on|off} Quand cette option est définie sur on, indique que seul le jeu d'autorisations associé au groupe de codes que vous ajoutez ou modifiez est pris en compte quand un code satisfait la condition d'appartenance du groupe de codes.When set to on, indicates that only the permission set associated with the code group you are adding or modifying is considered when some code fits the membership condition of the code group. Quand cette option est définie sur off, Caspol.exe tient compte des jeux d'autorisations de tous les groupes de codes correspondants du niveau de stratégie.When this option is set to off, Caspol.exe considers the permission sets of all matching code groups in the policy level.
-levelfinal {on|off}-levelfinal {on|off} Quand cette option est définie sur on, cela indique qu’aucun des niveaux de stratégie inférieurs au niveau du groupe de codes ajouté ou modifié n'est pris en compte.When set to on, indicates that no policy level below the level in which the added or modified code group occurs is considered. Cette option est généralement utilisée au niveau de la stratégie de l'ordinateur.This option is typically used at the machine policy level. Par exemple, si vous définissez cet indicateur pour un groupe de codes au niveau de l'ordinateur et qu'il existe un code satisfaisant à la condition d'appartenance de ce groupe de codes, Caspol.exe ne calcule pas (ni n'applique) la stratégie de niveau utilisateur pour ce code.For example, if you set this flag for a code group at the machine level and some code matches this code group's membership condition, Caspol.exe does not calculate or apply the user level policy for this code.
-name "nom"-name "name" S’il est utilisé avec l'option –addgroup, spécifie le nom de script d'un groupe de codes à ajouter.If used with the –addgroup option, specifies the scripting name for a code group to add. S’il est utilisé avec l'option –chggroup, spécifie le nom de script d'un groupe de codes à modifier.If used with the -chggroup option, specifies the scripting name for a code group to edit. L’argument name doit être entouré de guillemets doubles.The name argument must be enclosed in double quotes. L’argument name ne doit pas commencer par un chiffre et ne peut contenir que les lettres de A à Z, les chiffres de 0 à 9 et le caractère de soulignement.The name argument cannot begin with a number, and can only contain A-Z, 0-9, and the underscore character. Vous pouvez faire référence aux groupes de codes par cet argument name au lieu d'utiliser leur étiquette numérique.Code groups can be referred to by this name instead of by their numeric label. L'argument name est également très utile dans les scripts.The name is also highly useful for scripting purposes.

NotesRemarks

La stratégie de sécurité se définit sur trois niveaux : ordinateur, utilisateur et entreprise.Security policy is expressed using three policy levels: machine policy, user policy, and enterprise policy. Le jeu d'autorisations dont bénéficie un assembly est déterminé par l'intersection entre les jeux d'autorisations accordés par ces trois niveaux de stratégie.The set of permissions that an assembly receives is determined by the intersection of the permission sets allowed by these three policy levels. Chaque niveau de stratégie est représenté par une structure hiérarchique de groupes de codes.Each policy level is represented by a hierarchical structure of code groups. Chaque groupe de codes possède une condition d'appartenance qui détermine quel code est membre de ce groupe.Every code group has a membership condition that determines which code is a member of that group. Un jeu d'autorisations nommé est également associé à chaque groupe de codes.A named permission set is also associated with each code group. Ce jeu d'autorisations spécifie les autorisations que peut accorder le runtime au code qui satisfait à la condition d'appartenance.This permission set specifies the permissions the runtime allows code that satisfies the membership condition to have. Une hiérarchie de groupes de codes et les jeux d'autorisations nommés associés définissent et gèrent chaque niveau de la stratégie de sécurité.A code group hierarchy, along with its associated named permission sets, defines and maintains each level of security policy. Vous pouvez utiliser les options –user, -customuser, –machine et -enterprise pour définir le niveau de stratégie de sécurité.You can use the –user, -customuser, –machine and -enterprise options to set the level of security policy.

Pour plus d'informations sur les stratégies de sécurité et sur la manière dont le runtime détermine les autorisations à accorder au code, consultez Gestion de la stratégie de sécurité.For more information about security policy and how the runtime determines which permissions to grant to code, see Security Policy Management.

Références aux groupes de codes et aux jeux d'autorisationsReferencing Code Groups and Permission Sets

Pour faciliter les références aux groupes de codes d'une hiérarchie, l'option -list affiche une liste des groupes de codes avec des retraits et les étiquettes numériques correspondantes (1, 1.1, 1.1.1, etc.).To facilitate references to code groups in a hierarchy, the -list option displays an indented list of code groups along with their numerical labels (1, 1.1, 1.1.1, and so on). Les autres opérations effectuées depuis la ligne de commande qui ciblent les groupes de codes utilisent également les étiquettes numériques pour faire référence à des groupes de codes particuliers.The other command-line operations that target code groups also use the numerical labels to refer to specific code groups.

Les jeux d'autorisations nommés sont référencés par leurs noms.Named permission sets are referenced by their names. L'option –list affiche la liste des groupes de codes suivie d'une liste des jeux d'autorisations nommés disponibles dans cette stratégie.The –list option displays the list of code groups followed by a list of named permission sets available in that policy.

Comportement de Caspol.exeCaspol.exe Behavior

Toutes les options sauf -s[ecurity] {on | off} utilisent la version du .NET Framework avec laquelle Caspol.exe a été installé.All options except -s[ecurity] {on | off} use the version of the .NET Framework that Caspol.exe was installed with. Si vous exécutez Caspol.exe installé avec la version X du runtime, les modifications s'appliquent uniquement à cette version.If you run the Caspol.exe that was installed with version X of the runtime, the changes apply only to that version. Les autres installations côte-à-côte du runtime, si elles existent, ne sont pas affectées.Other side-by-side installations of the runtime, if any, are not affected. Si vous exécutez Caspol.exe à partir de la ligne de commande sans être dans un répertoire d’une version spécifique du runtime, l’outil est exécuté à partir du premier répertoire de version du runtime du chemin (généralement la version la plus récente du runtime installée).If you run Caspol.exe from the command line without being in a directory for a specific runtime version, the tool is executed from the first runtime version directory in the path (usually the most recent runtime version installed).

L’option -s[ecurity] {on | off} est une opération à l'échelle de l'ordinateur.The -s[ecurity] {on | off} option is a computer-wide operation. La désactivation de la sécurité d'accès du code met fin aux contrôles de sécurité pour tout le code managé et tous les utilisateurs sur l'ordinateur.Turning off code access security terminates security checks for all managed code and for all users on the computer. Si des versions côte-à-côte de .NET Framework sont installées, cette commande désactive la sécurité pour chaque version installée sur l'ordinateur.If side-by-side versions of the .NET Framework are installed, this command turns off security for every version installed on the computer. Bien que l'option -list indique que la sécurité est désactivée, rien d'autre ne l'indique clairement aux autres utilisateurs.Although the -list option shows that security is turned off, nothing else clearly indicates for other users that security has been turned off.

Quand un utilisateur sans droit d'administration exécute Caspol.exe, toutes les options concernent la stratégie de niveau utilisateur, sauf si l'option –machine est spécifiée.When a user without administrative rights runs Caspol.exe, all options refer to the user level policy unless the –machine option is specified. Quand un administrateur exécute Caspol.exe, toutes les options concernent la stratégie de niveau ordinateur, sauf si l'option –user est spécifiée.When an administrator runs Caspol.exe, all options refer to the machine policy unless the –user option is specified.

Pour fonctionner, Caspol.exe doit bénéficier d'une autorisation équivalente à Everything.Caspol.exe must be granted the equivalent of the Everything permission set to function. Cet outil est muni d'un mécanisme de protection qui interdit toute modification de stratégie susceptible d'empêcher l'octroi des autorisations indispensables à l'exécution de Caspol.exe.The tool has a protective mechanism that prevents policy from being modified in ways that would prevent Caspol.exe from being granted the permissions it needs to run. Si vous essayez d'effectuer de telles modifications, Caspol.exe vous envoie une notification indiquant que la modification de stratégie demandée détruit l'objet et qu'elle est par conséquent refusée.If you try to make such changes, Caspol.exe notifies you that the requested policy change will break the tool, and the policy change is rejected. Vous pouvez désactiver ce mécanisme de protection pour une commande donnée à l'aide de l'option –force.You can turn this protective mechanism off for a given command by using the –force option.

Modification manuelle des fichiers de configuration de sécuritéManually Editing the Security Configuration Files

Il existe trois fichiers de configuration de sécurité qui correspondent aux trois niveaux de sécurité pris en charge par Caspol.exe : ordinateur, utilisateur et entreprise.Three security configuration files correspond to the three policy levels supported by Caspol.exe: one for the machine policy, one for a given user's policy, and one for the enterprise policy. Ces fichiers sont créés uniquement sur le disque lorsque la stratégie de l'ordinateur, de l'utilisateur ou de l'entreprise est modifiée à l'aide de Caspol.exe.These files are created on disk only when machine, user, or enterprise policy is changed using Caspol.exe. Vous pouvez utiliser l'option –reset de Caspol.exe pour enregistrer la stratégie de sécurité par défaut sur le disque, si nécessaire.You can use the –reset option in Caspol.exe to save the default security policy to disk, if needed.

Dans la plupart des cas, il n'est pas recommandé de modifier manuellement les fichiers de configuration de sécurité.In most cases, manually editing the security configuration files is not recommended. Il existe cependant des situations où ces modifications sont indispensables, par exemple lorsqu'un administrateur veut modifier la configuration de sécurité d'un utilisateur particulier.But there might be scenarios in which modifying these files becomes necessary, such as when an administrator wants to edit the security configuration for a particular user.

ExemplesExamples

-addfulltrust-addfulltrust

Supposez qu'un jeu d'autorisations contenant une autorisation personnalisée a été ajouté à la stratégie de l'ordinateur.Assume that a permission set containing a custom permission has been added to machine policy. Cette autorisation personnalisée est implémentée dans MyPerm.exe, et MyPerm.exe fait référence aux classes de MyOther.exe.This custom permission is implemented in MyPerm.exe, and MyPerm.exe references classes in MyOther.exe. Les deux assemblys doivent être ajoutés à la liste des assemblys de confiance totale.Both assemblies must be added to the full trust assembly list. La commande suivante ajoute l'assembly MyPerm.exe à la liste des assemblys de confiance totale pour la stratégie de l'ordinateur.The following command adds the MyPerm.exe assembly to the full trust list for the machine policy.

caspol -machine -addfulltrust MyPerm.exe  

La commande suivante ajoute l'assembly MyOther.exe à la liste des assemblys de confiance totale pour la stratégie de l'ordinateur.The following command adds the MyOther.exe assembly to the full trust list for the machine policy.

caspol -machine -addfulltrust MyOther.exe  

-addgroup-addgroup

La commande suivante ajoute un groupe de codes enfant à la racine de la hiérarchie des groupes de codes de la stratégie de l'ordinateur.The following command adds a child code group to the root of the machine policy code group hierarchy. Le nouveau groupe de codes est membre de la zone Internet et il est associé au jeu d'autorisations Execution.The new code group is a member of the Internet zone and is associated with the Execution permission set.

caspol -machine -addgroup 1.  -zone Internet Execution  

La commande suivante ajoute un groupe de codes enfant qui donne des autorisations sur l’intranet local au partage \\netserver\netshare.The following command adds a child code group that gives the share \\netserver\netshare local intranet permissions.

caspol -machine -addgroup 1. -url \\netserver\netshare\* LocalIntranet  

-addpset-addpset

La commande suivante ajoute le jeu d'autorisations Mypset à la stratégie de l'utilisateur.The following command adds the Mypset permission set to the user policy.

caspol -user -addpset Mypset.xml Mypset  

-chggroup-chggroup

La commande suivante change le jeu d'autorisations défini dans la stratégie d'utilisateur du groupe de codes étiqueté 1.2.The following command changes the permission set in the user policy of the code group labeled 1.2. en jeu d’autorisations Execution.to the Execution permission set.

caspol -user -chggroup 1.2. Execution  

La commande suivante change la condition d'appartenance dans la stratégie par défaut du groupe de codes étiqueté 1.2.1.The following command changes the membership condition in the default policy of the code group labeled 1.2.1. et change le paramètre de l’indicateur exclusive.and changes the setting of the exclusive flag. La condition d'appartenance est définie comme un code qui provient de la zone Internet avec l'indicateur exclusive activé.The membership condition is defined to be code that originates from the Internet zone and the exclusive flag is switched on.

caspol -chggroup 1.2.1. -zone Internet -exclusive on  

-chgpset-chgpset

La commande suivante substitue au jeu d'autorisations Mypset le jeu d'autorisations contenu dans newpset.xml.The following command changes the permission set with name Mypset to the permission set contained in newpset.xml. Notez que la version actuelle ne prend pas en charge la modification des jeux d’autorisations utilisés par la hiérarchie des groupes de codes.Note that the current release does not support changing permission sets that are being used by the code group hierarchy.

caspol -chgpset Mypset newpset.xml  

-Force-force

La commande suivante entraîne l'association du groupe de codes racine de la stratégie d'utilisateur (étiqueté 1) au jeu d'autorisations nommé Nothing.The following command causes the user policy's root code group (labeled 1) to be associated with the Nothing named permission set. Cela empêche l'exécution de Caspol.exe.This prevents Caspol.exe from running.

caspol -force -user -chggroup 1 Nothing  

-récupérer-recover

La commande suivante récupère la stratégie d'ordinateur enregistrée le plus récemment.The following command recovers the most recently saved machine policy.

caspol -machine -recover  

-remgroup-remgroup

La commande suivante supprime le groupe de codes étiqueté 1.1.The following command removes the code group labeled 1.1. Si ce groupe de codes comprend des groupes de codes enfants, ces derniers sont également supprimés.If this code group has any child code groups, those groups are also deleted.

caspol -remgroup 1.1.  

-rempset-rempset

La commande suivante supprime le jeu d'autorisations Execution de la stratégie d'utilisateur.The following command removes the Execution permission set from the user policy.

caspol -user -rempset Execution  

La commande suivante supprime Mypset du niveau de stratégie de l'utilisateur.The following command removes Mypset from the user policy level.

caspol -rempset MyPset  

-resolvegroup-resolvegroup

La commande suivante affiche tous les groupes de codes de la stratégie d'ordinateur à laquelle appartient myassembly.The following command shows all code groups of the machine policy that myassembly belongs to.

caspol -machine -resolvegroup myassembly  

La commande suivante affiche tous les groupes de codes de la stratégie d'ordinateur, d'entreprise et d'utilisateur personnalisé à laquelle appartient myassembly.The following command shows all code groups of the machine, enterprise, and specified custom user policy that myassembly belongs to.

caspol -customall "c:\config_test\security.config" -resolvegroup myassembly  

-resolveperm-resolveperm

La commande suivante calcule les autorisations de testassembly en fonction des niveaux de stratégie d'ordinateur et d'utilisateur.The following command calculates the permissions for testassembly based on the machine and user policy levels.

caspol -all -resolveperm testassembly  

Voir aussiSee also