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 .
Procedimento
-
Navegar até e, em seguida, clique em Novo.
-
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.
-
Clique com o botão direito do mouse na barra de cabeçalho e selecione Salvar no menu de contexto.
-
Selecione a guia Parâmetros de probe no formulário de probe e clique em Novo.
-
Insira WMI_GetFiles.js como o Nome deste parâmetro.
-
Copie o script abaixo para o campo Script e edite conforme necessário.
-
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);
}
-
Navegar até e, 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.
-
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"
});