IPAddressKorrektur – Global
Die IPAddressKorrektur Die Skripteinbindung stellt Methoden bereit, die sicherstellen, dass kein anderes Gerät dieselbe IP-Adresse hat, nachdem ein Gerät erfolgreich erkannt wurde. Wenn Duplikate gefunden wurden, wird das IP-Adressfeld gelöscht.
Zur Verwendung mit jedem serverseitigen Discovery-Skript zum Überprüfen von IP-Adressen.
IPAddressFixup – dedupe(String tableName, String ip)
Entfernt Duplikate der angegebenen IP-Adresse in der angegebenen Tabelle.
Nachdem ein Gerät erfolgreich erkannt wurde, können Sie verwenden Deduplizierung () Methode zum Entfernen der doppelten IP-Adressen für dieses Gerät.
| Name | Typ | Beschreibung |
|---|---|---|
| tableName | Zeichenfolge | Tabelle zum Überprüfen auf Duplikate. |
| ip | Zeichenfolge | IP-Adresse, nach der gesucht werden soll. |
| Typ | Beschreibung |
|---|---|
| void |
Das folgende Beispiel zeigt die Verwendung Deduplizierung () In einem Hintergrundskript zum Entfernen doppelter IP-Adressen für die angegebene IP-Adresse in der Tabelle „cmdb_ci_Hardware“.
var grDiscovery=new GlideRecord("discovery_device_history");
grDiscovery.addQuery('sys_id','<sys id of the record>'); // sys_id of the device discovery_device_history
grDiscovery.query();
if(grDiscovery.next())
{
var fx=new IPAddressFixup(grDiscovery.cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
fx.dedupe('cmdb_ci_hardware','192.161.1.1'); // Pass the IP address and table which removes duplicates of the specified IP address in the specified table.
}
Das folgende Beispiel zeigt die Verwendung Deduplizierung () In einer Business-Regel zum Entfernen doppelter IP-Adressen für die angegebene IP-Adresse in der Tabelle „cmdb_ci_Hardware“.
(function executeRule(current, previous /*null when async*/) {
var cmdb_ci = current.cmdb_ci + '';
if (cmdb_ci)
{
var ipf = new IPAddressFixup(cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
ipf.dedupe('cmdb_ci_hardware','168.128.1.1'); // Removes duplicates of the specified IP address in the specified table.
}
})(current, previous);
IPAddressFixup – dedupeAll()
Entfernt alle doppelten IP-Adressen aus den Tabellen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| void |
Das folgende Beispiel zeigt die Verwendung DedupeAll() In einem Hintergrundskript zum Entfernen aller doppelten IP-Adressen.
var grDiscovery=new GlideRecord("discovery_device_history");
grDiscovery.addQuery('sys_id','<sys id of the record>'); // sys_id of the device discovery_device_history
grDiscovery.query();
if(grDiscovery.next())
{
var fx=new IPAddressFixup(grDiscovery.cmdb_ci); // Call script include IPAddressFixup and pass cmdb reference
fx.dedupeAll(); //Removes all duplicate IP addresses from the tables.
}
Das folgende Beispiel zeigt die Verwendung DedupeAll() In einer Business-Regel zum Entfernen aller doppelten IP-Adressen.
(function executeRule(current, previous /*null when async*/) {
var cmdb_ci = current.cmdb_ci + '';
if (cmdb_ci)
{
var ipf = new IPAddressFixup(cmdb_ci); //call script include IPAddressFixup and pass cmdb reference
ipf.dedupeAll(); //Removes all duplicate IP addresses from the tables.
})(current, previous);
IPAddressFixup – fix()
Entfernt alle doppelten IP-Adressen und stellt sicher, dass der übergeordnete ip_address-Datensatz auf eine der IP-Adressen der Netzwerkschnittstellenkarte (NIC) festgelegt ist.
Nachdem ein Gerät erfolgreich erkannt wurde, können Sie verwenden Deduplizierung () Methode zum Entfernen der doppelten IP-Adressen für dieses Gerät und Festlegen des übergeordneten ip_address-Datensatzwerts.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| void |
Das folgende Beispiel zeigt die Verwendung Korrektur () In einem Hintergrundskript, um doppelte IP-Adressen zu entfernen und die übergeordnete IP-Adresse festzulegen.
var grDiscovery=new GlideRecord("discovery_device_history");
grDiscovery.addQuery('sys_id','<sys id of the the record>'); // sys_id of the device discovery_device_history
grDiscovery.query();
if(grDiscovery.next())
{
var fx=new IPAddressFixup(grDiscovery.cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
fx.fix(); // Remove all duplicate IP addresses and ensure that the parent ip_address record is set to one of the NIC's IP addresses.
}
Das folgende Beispiel zeigt die Verwendung Korrektur () In einer Business-Regel zum Entfernen doppelter IP-Adressen und Festlegen der übergeordneten IP-Adresse.
(function executeRule(current, previous /*null when async*/) {
var cmdb_ci = current.cmdb_ci + '';
if (cmdb_ci)
{
var ipf = new IPAddressFixup(cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
ipf.fix(); /// Remove all duplicate IP addresses and ensure that the parent ip_address record is set to one of the NIC's IP addresses.
}
})(current, previous);
IPAddressFixup – getParentIP()
Gibt die übergeordnete IP-Adresse für das aktuelle Gerät zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Übergeordnete IP-Adresse |
Das folgende Beispiel zeigt die Verwendung GetParentIP() In einem Hintergrundskript zum Abrufen der übergeordneten IP-Adresse.
var grDiscovery=new GlideRecord("discovery_device_history"); // current.cmdb_ci can be used in case of Business rule on discovery_device_history table
grDiscovery.addQuery('sys_id','<sys id of the the record>'); // sys_id of the device discovery_device_history
grDiscovery.query();
if(grDiscovery.next())
{
var fx=new IPAddressFixup(grDiscovery.cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
gs.info(fx.getParentIP()); // Display the parent IP address of the device
}
Ausgabe:
172.21.12.11
Das folgende Beispiel zeigt die Verwendung GetParentIP() In einer Business-Regel zum Abrufen der übergeordneten IP-Adresse.
((function executeRule(current, previous /*null when async*/) {
var cmdb_ci = current.cmdb_ci + '';
if (cmdb_ci)
{
var ipf = new IPAddressFixup(cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
gs.log(ipf.getParentIP()); // Log the parent IP address of the device. Located in the system logs table
}
})(current, previous);
IPAddressFixup – setParentIP(String ip)
Legt das übergeordnete IP-Adressfeld für das aktuelle CI fest.
| Name | Typ | Beschreibung |
|---|---|---|
| ip | Zeichenfolge | Übergeordnete IP-Adresse für das aktuelle CI. |
| Typ | Beschreibung |
|---|---|
| void |
Das folgende Beispiel zeigt die Verwendung SetParentIP() In einem Hintergrundskript zum Speichern der übergeordneten IP-Adresse.
var grDiscover=new GlideRecord("discovery_device_history");
grDiscover.addQuery('sys_id','a14e43b31bb4051070cb96c6b04bcb23'); // sys_id of the device in discovery_device_history table. Put your own sys_id here.
grDiscover.query();
if(grDiscover.next())
{
var fx=new IPAddressFixup(grDiscover.cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference.
fx.setParentIP('197.111.1.1'); // Pass IP address to set as new IP on current mentioned CI.
}
Das folgende Beispiel zeigt die Verwendung SetParentIP() In einer Business-Regel zum Speichern der übergeordneten IP-Adresse.
((function executeRule(current, previous /*null when async*/) {
var cmdb_ci = current.cmdb_ci + '';
if (cmdb_ci)
{
var ipf = new IPAddressFixup(cmdb_ci); // Instantiate IPAddressFixup - pass cmdb reference
fx.setParentIP('195.11.1.1'); // Set the new IP address of the CI
}
})(current, previous);
IPAddressFixup – syncIP()
Stellt sicher, dass der übergeordnete ip_address-Datensatz auf eine der IP-Adressen der Netzwerkkarte festgelegt ist, oder behält ihn bei, wenn keine Netzwerkkarten vorhanden sind.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| void |
Dies zeigt ein Beispiel für die Verwendung von SyncIP() Methode in einem Hintergrundskript.
var grDevHistory=new GlideRecord("discovery_device_history");
grDevHistory.addQuery('sys_id','a14e43b31bb4051070cb96c6b04bcb23'); // Sys_id of the device in discovery_device_history table. Put your own sys_id here.
grDevHistory.query();
if(grDevHistory.next())
{
var fx=new IPAddressFixup(grDevHistory.cmdb_ci); // Call the script include IPAddressFixup and pass cmdb reference
fx.syncIP(); // Ensures that the parent ip_address record is set to one of the NIC's IP addresses, or leaves it alone if there were no NICs.
}
Dies zeigt ein Beispiel für die Verwendung von SyncIP() Methode in einer Business-Regel.
(function executeRule(current, previous /*null when async*/) {
var cmdb_ci = current.cmdb_ci + '';
if (cmdb_ci)
{
var ipf = new IPAddressFixup(cmdb_ci); // Call script include IPAddressFixup and pass cmdb reference
ipf.syncIP(); // Ensures that the parent ip_address record is set to one of the NIC's IP addresses, or leaves it alone if there were no NICs.
}
})(current, previous);