---
sourceDocument: Xanadu IT Operations Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/it-operations-management

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Xanadu IT Operations Management

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# Exemplo de probe e sensor de descoberta personalizados: preencha um IC com valores de arquivo de texto

# Exemplo de probe e sensor de descoberta personalizados: preencha um IC com valores de arquivo de texto {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 min. de leitura

Esta probe Descoberta personalizada será útil se você precisar ler um arquivo de texto de um computador Windows e preencher um IC no CMDB com os valores do arquivo.

## Antes de Iniciar

Função necessária: administrador

## Por Que e Quando Desempenhar Esta Tarefa

Neste exemplo, o usuário deseja ler arquivos criados por BGinfo.  
Nota:  
Quando você tiver concluído a probe e o sensor, coloque a probe no classificador do Windows apropriado em Definição de DescobertaClassificação de ICWindows.

## Procedimento

1. Navegar até Definição de DescobertaProbese, em seguida, clique em Novo.
2. Preencha os seguintes campos:  
   * Nome: nome exclusivo e descritivo da probe
   * Tipo de probe: selecione Probe.
   * Descrição: descreva a função desta probe.
   * Usado pela Descoberta: marque esta caixa de seleção
   * Tópico da fila do ECC: este é o nome da probe que o MID Server deve executar. Neste exemplo, usamos WMIRunner.
   * Nome da fila do ECC: neste exemplo, usamos o nome descritivo WMI: arquivos BGInfo.
   {#t_CustomProbeTextFile__ul_exc_cym_tp}
3. Clique com o botão direito do mouse na barra de cabeçalho e selecione Salvar no menu de contexto.
4. Selecione a guia Parâmetros de probe no formulário de probe e clique em Novo.
5. Insira <kbd class="ph userinput">WMI_GetFiles.js</kbd> como o Nome deste parâmetro.
6. Copie o script abaixo para o campo Script e edite conforme necessário.
7. Clique em Enviar.  


       //
        // Use ServiceNow WMIAPI to gather stats
        //
        var CMD_RETRIES = 3;
        var scanner = getScanner();
        if (scanner) {
          var output = "";
          for(var i = 0; i < CMD_RETRIES; i++) {
             output = scanner.winExec("%SystemRoot%\\system32\\cmd.exe /C type \\\"C:\\Information Systems\\BgInfo\\*.txt\\\"");
             if (output)
                break;
          }
          scanner.appendToRoot("output", output);
        }

8. Navegar até Definição de DescobertaSensorese, em seguida, clique em Novo.  
   Preencha os seguintes campos:
   * Nome: use o mesmo nome da probe correspondente. Neste exemplo, usamos Windows - Obter arquivos BGInfo.
   * Reage à probe: o nome da probe criada no procedimento anterior: Windows - Obter arquivos BGInfo
   * Tipo de sensor: selecione o tipo de sensor a ser criado, neste exemplo, Sensor.
   * Descrição: descreve a função deste sensor.
   * Script: copie o script abaixo no campo Script e edite conforme necessário.
   * Tipo de sensor: determina como a resposta da probe é processada --- neste exemplo, JavaScript.
   {#t_CustomProbeTextFile__ul_bkg_xzm_tp}
9. Clique em Enviar.  

        
        
       new DiscoverySensor({ data: {}, process: function(result) { 
        
               this.parseOutput(result.output);
               this.update(this.data);
           },
        
        parseOutput: function(output) {
               var currentFile;
               var files = {};
        
        if (output.startsWith("<wmi")) {
                   var bgout = new XMLHelper(output).toObject();
                   if (!bgout)
                       return;
        
        output = bgout.output;
               }
        
        var lines = output.split(/\n/);
        
        for(var i = 0; i < lines.length; i++) {
                   var line = lines[i];
                   if (line.startsWith("C:\\Information Systems\\BgInfo\\")) {
                       currentFile = line.substr(30);
                       files[currentFile] = "";
                   } else if (currentFile) {
                       var newLine = line.trim();
                       if (newLine)
                           files[currentFile] += (files[currentFile]? "\n" : "") + newLine;
                   }
               }
        
        this.data['u_jack_id'] = files['JackID.txt'];
        this.data['warranty_expiration'] = files['Warranty.txt'];
        this.data['po_number'] = files['Ponum.txt'];},
        type: "DiscoverySensor"
        
        });


