---
sourceDocument: Yokohama IT Operations Management
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/yokohama/it-operations-management

 Release :

    - yokohama

ft:locale :

    - de-DE

ft:publication_title :

    - Yokohama IT Operations Management

ft:clusterId :

    - itom

bundleId :

    - itom

workflow :

    - Technology


---

# Beispiel für anwenderdefinierte Discovery-Probe und -Sensor: Füllen Sie ein CI mit Textdateiwerten aus

# Beispiel für anwenderdefinierte Discovery-Probe und -Sensor: Füllen Sie ein CI mit Textdateiwerten aus {#ariaid-title1}

* Freigeben Version: Yokohama
* 
* Aktualisiert 30. Januar 2025
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 Minuten Lesedauer

Diese anwenderdefiniert DiscoveryProbe hilft Ihnen, wenn Sie eine Textdatei aus lesen müssen WindowsComputer und füllen Sie ein CI in der CMDB mit den Werten aus der Datei aus.

## Vorbereitungen

Erforderliche Rolle: Administrator

## Warum und wann dieser Vorgang ausgeführt wird

In diesem Beispiel möchte der Anwender Dateien lesen, die von erstellt wurden BGinfo .  
Hinweis:  
Wenn Sie die Probe und den Sensor abgeschlossen haben, platzieren Sie die Probe in der entsprechenden Windows-Klassifizierung unter Discovery-DefinitionCI-KlassifizierungWindowsan.

## Prozedur

1. Navigieren zu Discovery-DefinitionProbes, Und klicken Sie dann auf Neu .
2. Füllen Sie die folgenden Felder aus:  
   * Name : Eindeutiger und beschreibender Name für die Probe
   * Probentyp : Wählen Sie Aus Probe .
   * Beschreibung : Beschreiben Sie die Funktion dieser Probe.
   * Von Discovery verwendet : Aktivieren Sie dieses Kontrollkästchen
   * ECC-Warteschlangenthema : Dies ist der Name der Probe, die der MID-Server ausführen soll. In diesem Beispiel verwenden wir WMIRunner .
   * ECC-Warteschlangenname : In diesem Beispiel verwenden wir den beschreibenden Namen WMI: BGInfo-Dateien .
   {#t_CustomProbeTextFile__ul_exc_cym_tp}
3. Klicken Sie mit der rechten Maustaste in die Kopfzeile, und wählen Sie aus Speichern Aus dem Kontextmenü.
4. Wählen Sie im Formular Probe die Registerkarte Probe-Parameter aus, und klicken Sie dann auf Neu .
5. Eingabetaste <kbd class="ph userinput">WMI_GetFiles.js </kbd>Als Name dieses Parameters.
6. Kopieren Sie das Skript unten in Skript Feld und bearbeiten Sie nach Bedarf.
7. Klicken Sie auf Absenden.  


       //
        // 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. Navigieren zu Discovery-DefinitionSensoren, Und klicken Sie dann auf Neu .  
   Füllen Sie die folgenden Felder aus:
   * Name : Verwenden Sie denselben Namen wie die übereinstimmende Probe. In diesem Beispiel verwenden wir Windows: Ruft BGInfo-Dateien ab .
   * Reagiert auf Probe : Der Name der Probe, die im vorherigen Verfahren erstellt wurde: Windows: Ruft BGInfo-Dateien ab
   * Sensortyp : Wählen Sie den Typ des zu erstellenden Sensors aus -- in diesem Beispiel Sensor .
   * Beschreibung : Beschreibt die Funktion dieses Sensors.
   * Skript : Kopieren Sie das folgende Skript in Skript Feld und bearbeiten Sie nach Bedarf.
   * Sensortyp : Bestimmt, wie die Antwort aus der Probe verarbeitet wird -- in diesem Beispiel JavaScript .
   {#t_CustomProbeTextFile__ul_bkg_xzm_tp}
9. Klicken Sie auf Absenden.  

        
        
       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"
        
        });


