---
sourceDocument: Gestion des services IT Australie
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/it-service-management

 Release :

    - australia

ft:locale :

    - fr-FR

ft:publication_title :

    - Gestion des services IT Australie

ft:clusterId :

    - itsm

bundleId :

    - itsm

workflow :

    - Technology


---

# Créer un package de module d'extension ACC

# Créer un package de module d'extension ACC {#ariaid-title1}

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

Créez un package de module d'extension Agent Client Collector (ACC) qui inclut le script PowerShell définissant l'action de rattrapage, un script Ruby et une liste d'autorisation pour permettre l'exécution de l'action de rattrapage sur un appareil de point de terminaison.

## Avant de commencer

Rôle requis : admin

## Procédure

1. Créez un dossier racine pour le module d'extension ACC sur votre ordinateur local et nommez-le.  
   Par exemple, acc-dex-custom.
2. Dans le dossier racine, créez deux sous-dossiers nommés liste d'autorisation et corbeille.
3. Créez un script PowerShell à l'aide de PowerShell ou de commandes d'invite de commande pour définir l'action de rattrapage à exécuter sur un appareil de point de terminaison.
   1. Dans le dossier de la corbeille , créez un fichier .ps1 et nommez-le avec l'extension .ps1 .  
      Par exemple, CustomScript.ps1
   2. Ouvrez le fichier .ps1 et ajoutez les commandes.  
      Par exemple, l'exemple de fichier .ps1 suivant définit une action de rattrapage personnalisée à l'aide de commandes permettant d'arrêter et de redémarrer le processus W32Time, de mettre en pause et de redémarrer le service Spooler sur un appareil.

          sc.exe stop w32time

          $process = Get-Process -Name w32time -ErrorAction SilentlyContinue
          if ($process) {
              taskkill /f /t /im w32tm.exe
          }

          Start-Sleep -Seconds 5

          sc.exe start w32time
          Start-Process "C:\Windows\System32\w32tm.exe"

          Start-Sleep -Seconds 5

          sc.exe stop spooler
          sc.exe start spooler

      Remarque :  
      Vous pouvez configurer le script PowerShell pour accepter les paramètres d'entrée définis dans l'instance pendant l'exécution ServiceNow .
   3. Enregistrez le fichier.
   {#create-acc-plugin-structure__substeps_ux3_321_l3c}
4. Créez un script Ruby pour appeler le fichier .ps1 à partir de l'instance ServiceNow .
   1. Dans le dossier de la corbeille , créez un fichier Ruby et nommez-le avec l'extension .rb .
   2. Ouvrez le fichier .rb et ajoutez votre code à l'aide de Ruby brut ou de n'importe quel framework Ruby.  
      Le script Ruby doit inclure la logique pour :
      * Appelez le script .ps1 que vous avez créé en vous assurant d'entrer le chemin d'accès correct au fichier.
      * Validez si la commande est exécutée avec succès.
      * Créez une sortie JSON qui inclut l'état de l'exécution, la sortie et les erreurs, le cas échéant.
      {#create-acc-plugin-structure__ul_jyw_5xj_m3c}
   3. Exécutez la commande et examinez la sortie pour confirmer si le fichier .ps1 est appelé avec succès ou s'il y a des erreurs.  
      Par exemple, l'exemple de fichier .rb suivant exécute un fichier .ps1 (CustomScript.ps1) à l'aide de la commande exécuter du module d'extension acc-f-commons, valide si la commande s'exécute correctement et renvoie le résultat JSON.

          require "logger"
          require_relative "../../../acc-f-commons/bin/command_runner.rb"
          require "json"

          class CustomScript
            def initialize()
              @logger = Logger.new(STDOUT)
              @cmd_runner = CommandRunner.new
              @logger.level = "FATAL"
            end

            def execute_custom_script()
              status = "failure"
              msg = nil
              data = {}

              parent_cache_directory = File.expand_path("../..", File.dirname(__FILE__)).gsub(" ", "` ")
              query = "powershell -ExecutionPolicy Bypass " + parent_cache_directory + "/acc-dex-custom/bin/ps/customScript.ps1"

              output, error = @cmd_runner.runCmd(query, @logger, "mode con:cols=32766 lines=1 & chcp 65001 > nul & ", true, false)

              if !error && !output.empty?
                status = "success"
                msg = "Successfully ran script"
                data = output
              else
                msg = "Failed - #{error}"
              end

              result = {
                "status" => status,
                "type" => "device",
                "metric_type" => "remedial_action",
                "keys" => "custom_script",
                "data" => data,
                "message" => msg
              }

              puts JSON.generate(result)
            end
          end

          custom_script = CustomScript.new
          custom_script.execute_custom_script()

      Remarque :  
      Si le script PowerShell est configuré pour accepter les paramètres d'entrée de l'instance ServiceNow , le script Ruby transmet ces paramètres au script PowerShell pendant l'exécution.
   {#create-acc-plugin-structure__substeps_vzv_xl5_l3c}
5. Créez un fichier de liste d'autorisation et spécifiez le script Ruby autorisé pour l'exécution sur les appareils de point de terminaison.
   1. Dans le sous-dossier de la liste d'autorisation , créez un fichier de liste JSON d'autorisation.  
      Par exemple, check-allowlist.json.
   2. Définissez toutes les conditions, telles que les arguments, à accepter dans le script .rb ou créez une logique personnalisée.
   3. Enregistrez le fichier.
   {#create-acc-plugin-structure__substeps_d3r_vdk_m3c}
6. Générez un fichier tar.gz pour votre dossier de module d'extension ACC à l'aide de n'importe quel utilitaire.  
   Remarque :  
   Le nom du fichier tar.gz doit correspondre au nom du dossier racine du module d'extension. Par exemple, acc-dex-custom.tar.gz

