Crie um pacote de plug-in do ACC

  • Versão de lançamento: Australia
  • Atualizado 12 de mar. de 2026
  • 2 min. de leitura
  • Crie um Agent Client Collector(ACC) pacote de plug-in que inclui o script PowerShell que define a ação corretiva, um script Ruby e uma lista de permissões para habilitar a execução da ação corretiva em um dispositivo de endpoint.

    Antes de Iniciar

    Função necessária: administrador

    Procedimento

    1. Crie uma pasta raiz para o plug-in ACC no seu computador local e nomeie-a.
      Por exemplo, acc-dex-personalizado .
    2. Na pasta raiz, crie duas subpastas nomeadas lista de permissões e. compartimento .
    3. Crie um script do PowerShell usando o PowerShell ou os comandos do prompt de comando para definir a ação corretiva a ser executada em um dispositivo de endpoint.
      1. Em compartimento pasta, crie um .ps1 e nomeie-o com .ps1 extensão.
        Por exemplo, CustomScript.ps1
      2. Abra o. .ps1 arquivo e adicione os comandos.
        Por exemplo, o exemplo a seguir .ps1 O arquivo define uma ação corretiva personalizada usando comandos para parar e iniciar o processo W32Time, pausar e reiniciar o serviço de spooler em um dispositivo.
        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
        Nota:
        Você pode configurar o script do PowerShell para aceitar parâmetros de entrada definidos no ServiceNow instância durante a execução.
      3. Salve o arquivo.
    4. Crie um script Ruby para chamar o. .ps1 arquivo do ServiceNow instância.
      1. Em compartimento , crie um arquivo Ruby e nomeie-o com .rb extensão.
      2. Abra o. .rb Arquivo e adicione seu código usando Ruby simples ou qualquer estrutura de Ruby.
        O script Ruby deve incluir a lógica para:
        • Ligue para .ps1 script que você criou, certificando-se de inserir o caminho de arquivo correto.
        • Valide se o comando foi executado com sucesso.
        • Crie uma saída JSON isso inclui o status de execução, a saída e os erros, se houver.
      3. Execute o comando e revise a saída para confirmar se .ps1 o arquivo foi chamado com sucesso ou se houver erros.
        Por exemplo, o exemplo a seguir .rb o arquivo executa a. .ps1 arquivo ( CustomScript.ps1 usando o comando de execução do plug-in acc-f-commons, valida se o comando é executado com sucesso e retorna o resultado 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()
        Nota:

        Se o script do PowerShell estiver configurado para aceitar parâmetros de entrada do ServiceNow, o script Ruby passa esses parâmetros para o script PowerShell durante a execução.

    5. Crie um arquivo de lista de permissões e especifique o script Ruby permitido para execução em dispositivos de endpoint.
      1. Em lista de permissões subpasta, crie uma lista de permissões JSON arquivo.
        Por exemplo, check-allowlist.json .
      2. Defina todas as condições, como argumentos, a serem aceitos como parte do .rb ou crie uma lógica personalizada.
      3. Salve o arquivo.
    6. Gere um tar.gz Arquivo da pasta de plug-in do ACC usando qualquer utilitário.
      Nota:
      . tar.gz o nome do arquivo deve corresponder ao nome da pasta raiz do plug-in. Por exemplo, acc-dex-custom.tar.gz