---
sourceDocument: Gestion des opérations IT Australie
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/it-operations-management

 Release :

    - australia

ft:locale :

    - fr-FR

ft:publication_title :

    - Gestion des opérations IT Australie

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# Créer un script d'action de politique

# Créer un script d'action de politique {#ariaid-title1}

* Rversion finale: Australia
* 
* Mis à jour 12 mars 2026
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes de lecture

Utilisez des scripts d'action de politique pour obtenir, mettre à jour ou définir des valeurs dans les demandes dans le cloud.{#create-policy-script__shortdesc-policy-action-scripts}

## Avant de commencer

Rôle requis : sn_cmp.cloud_governor ou administrateur.

## Pourquoi et quand exécuter cette tâche

Pour plus d'informations sur l'utilisation des scripts, reportez-vous à la section [Scripts et modèles de script dans le cloud](https://servicenow-prod.fluidtopics.net/GbW229_GAXf8FEdUvepZuQ "Dans l’application, l’exécution Mise en service et gouvernance du cloud de script est divisée en scripts cloud et en modèles de script cloud. Utilisez des scripts dans des plans, des blocs de ressources, des profils de système d’exploitation et utilisez des scripts de stratégie pour définir les attributs de formulaire de demande. Les scripts de stratégie ne peuvent pas remplacer les données utilisateur.").

## Procédure

1. Sur le portail d'administration du cloud, accédez à PiloterPolitiques.
2. Sous l'onglet Scripts de l'action de politique , cliquez sur Nouveau, saisissez un nom et une description uniques et descriptifs, remplissez le formulaire, puis cliquez sur Soumettre.  
   Une fois que vous avez entré un nom, un script apparaît avec une variable qui utilise le nom que vous avez entré.{#create-policy-script__table_sqt_4gp_qz__entry__2}

   | Champ | Description |
   |-|-|
   | Catégorie du script d'action | Choisissez une autre catégorie ou conservez celle que vous avez créée à une étape précédente. |
   | Script | Modifiez la fonction `customScripts` dans le script. Il s'agit de la seule partie du script que vous devez modifier. |
   [ ]

   {#create-policy-script__table_sqt_4gp_qz}

## Exemple

L'exemple de script suivant détermine si l'utilisateur appartient à un groupe d'utilisateurs, puis remplace la valeur du nom du nœud du serveur d'applications spécifiée par l'utilisateur par la valeur MyNodeName.  


    customScript : function(formData){
      var groups = this.parameters.userData.groups; 
        if( groups.length > 0){ 
          formData.App_Server_NodeName = "MyNodeName"; 
        }
      return formData;
    },

Cet exemple renvoie un nombre aléatoire :  


    customScript : function(formData){
      var min = 10000;
      var max = 99999;
      var num = Math.floor(Math.random() * (max - min + 1)) + min;
      formData.randomNumber = num + "";  
      return formData;
    },

Cet exemple de script ajoute trois heures à la date de bail à l'aide de la classe système-de-base [GlideDateTime](https://developer.servicenow.com/app.do#!/training/article/app_store_learnv2_scripting_jakarta_server_side_scripting/app_store_learnv2_scripting_jakarta_glidedatetime?v=jakarta) .  


    var SetLeaseShort = Class.create();
    SetLeaseShort.prototype = Object.extendsObject(sn_cmp.PolicyExecutionBase, {
    	customScript : function(formData){
    		// Manipulation of form parameters are supported. Changes in any other attributes
                  // will be ignored.
    		// The data available for manipulation is as follows:
    		// Form Data -  for example: StackName can be accessed through formData.StackName
    		// formData.StackName = "MyStack";
    		// User Data  - for example: User Id can be accessed through this.parameters.userData
    		// if(this.parameter.userData.userId == 'servicenowuserId')
    		// this.info("id = " + formData.StackName);
    		
    		// var leaseValue = now();
    		// leaseValue = leaseValue.setHours(leaseValue.getHours()+4);
    		// formData.LeaseEndDate = leaseValue;
    		
    		if (formData.hasOwnProperty("LeaseEndDate")) {
    			gdt = new GlideDateTime();
    			// 10800 = 3 hours
    			gdt.addSeconds(10800);
    			formData.LeaseEndDate = gdt.getDisplayValue();
    		}	
    		return formData;
    	},
    	execute: function() {
    		if(this.parameters !=  null && this.parameters.formData != null){
            	var inputData = JSON.parse(JSON.stringify(this.parameters.formData));
    		    var outputFormData = this.customScript(inputData);
                if( outputFormData != null){
                    this.parameters.formData = outputFormData;
                }
           	}
    		var output = {};
    		output.answer = this.parameters;
    		return JSON.stringify(output);
    	},
    	type : 'SetLeaseShort'
    });	

    var SetLeaseShortObj = new SetLeaseShort(inputAttributes);
    var outputParams = SetLeaseShortObj.execute();
    gs.info( "Output of script is = " + outputParams);

Cet exemple de script définit le champ Nom DNS Azure Wordpress spécifié par l'utilisateur à partir du formulaire sur le même nom que le nom de la pile :  

    var WordpressFill = Class.create();
    WordpressFill.prototype = Object.extendsObject(sn_cmp.PolicyExecutionBase, {
    	customScript : function(formData){
    		// Manipulation of form parameters are supported. Changes in any other attributes
            // will be ignored.
    		// The data available for manipulation is as follows:
    		// Form Data -  for example: StackName can be accessed through formData.StackName
    		// formData.StackName = "MyStack";
    		// User Data  - for example: User Id can be accessed through this.parameters.userData
    		// if(this.parameter.userData.userId == 'servicenowuserId')
    		//this.info("id = " + formData.StackName);
    		
    		formData.Azure_Wordpress_v6_vmDnsName = formData.StackName;
    		
    		return formData;
    	},
    	execute: function() {
    		if(this.parameters !=  null && this.parameters.formData != null){
            	var inputData = JSON.parse(JSON.stringify(this.parameters.formData));
    		    var outputFormData = this.customScript(inputData);
                if( outputFormData != null){
                    this.parameters.formData = outputFormData;
                }
           	}
    		var output = {};
    		output.answer = this.parameters;
    		return JSON.stringify(output);
    	},
    	type : 'WordpressFill'
    });	

    var WordpressFillObj = new WordpressFill(inputAttributes);
    var outputParams = WordpressFillObj.execute();
    gs.info( "Output of script is = " + outputParams);

**Tâches associées**   

* [Exemple de script d'action de politique qui balise des ressources](https://servicenow-prod.fluidtopics.net/SYOqGoMqpOylx5cwOoSu2A "Votre instance suit les ressources balisées pour la facturation et la génération de rapports. Les scripts d’action de politique peuvent ajouter et modifier des balises de ressource. Cet exemple balise une ressource de volume de stockage.")

