---
sourceDocument: Référence de l’API Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/fr-FR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - fr-FR

ft:publication_title :

    - Référence de l’API Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# IPAddressFixup - Global

# IPAddressFixup - Global {#ariaid-title1}

* Rversion finale: Xanadu
* 
* Mis à jour 1 août 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 minutes de lecture

L'include de script IPAddressFixup fournit des méthodes qui garantissent qu'aucun autre appareil n'a la même adresse IP, une fois qu'un appareil a été détecté avec succès. Si des doublons sont trouvés, le champ d'adresse IP est effacé.

À utiliser avec n'importe quel script de découverte côté serveur pour valider les adresses IP.

## IPAddressFixup - dedupe(String tableName, String ip) {#ariaid-title2}

Supprime les doublons de l'adresse IP spécifiée dans la table spécifiée.
Une fois qu'un périphérique a été détecté avec succès, vous pouvez utiliser la méthode dedupe() pour supprimer les adresses IP en double pour ce périphérique.
{#r_IPAF-dedupe_S_S__table_hsd_nnq_pt__entry__3}

| Nom | Type | Description |
|-|-|-|
| tableName | Chaîne | Table pour vérifier la présence de doublons. |
| ip | Chaîne | Adresse IP à vérifier. |
[Tableau 1. Paramètres]

{#r_IPAF-dedupe_S_S__table_hsd_nnq_pt} {#r_IPAF-dedupe_S_S__table_isd_nnq_pt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 2. Renvoie]

{#r_IPAF-dedupe_S_S__table_isd_nnq_pt}  
L'exemple suivant montre comment utiliser dedupe() dans un script d'arrière-plan pour supprimer les adresses IP en double pour l'adresse IP spécifiée dans la table 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.
      }

L'exemple suivant montre comment utiliser dedupe() dans une règle métier pour supprimer les adresses IP en double pour l'adresse IP spécifiée dans la table 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() {#ariaid-title3}

Supprime toutes les adresses IP en double des tables.
{#r_IPAF-dedupeAll__table_fq1_hnq_pt__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 3. Paramètres]

{#r_IPAF-dedupeAll__table_fq1_hnq_pt} {#r_IPAF-dedupeAll__table_gq1_hnq_pt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 4. Renvoie]

{#r_IPAF-dedupeAll__table_gq1_hnq_pt}  
L'exemple suivant montre comment utiliser dedupeAll() dans un script d'arrière-plan pour supprimer toutes les adresses IP en double.

    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.
    }

L'exemple suivant montre comment utiliser dedupeAll() dans une règle métier pour supprimer toutes les adresses IP en double.

    (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() {#ariaid-title4}

Supprime toutes les adresses IP en double et s'assure que l'enregistrement de ip_address parent est défini sur l'une des adresses IP de la carte d'interface réseau (NIC).
Une fois qu'un périphérique a été détecté avec succès, vous pouvez utiliser la méthode dedupe() pour supprimer les adresses IP en double pour ce périphérique et définir la valeur de l'enregistrement ip_address parent.
{#r_IPAF-fix__table_bfp_dmq_pt__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 5. Paramètres]

{#r_IPAF-fix__table_bfp_dmq_pt} {#r_IPAF-fix__table_cfp_dmq_pt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 6. Renvoie]

{#r_IPAF-fix__table_cfp_dmq_pt}  
L'exemple suivant montre comment utiliser fix() dans un script d'arrière-plan pour supprimer les adresses IP en double et définir l'adresse IP parente.

    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.
      }

L'exemple suivant montre comment utiliser fix() dans une règle métier pour supprimer les adresses IP en double et définir l'adresse IP parente.

    (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() {#ariaid-title5}

Renvoie l'adresse IP parent de l'appareil actuel.
{#r_IPAF-getParentIP__table_ulc_1nq_pt__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 7. Paramètres]

{#r_IPAF-getParentIP__table_ulc_1nq_pt} {#r_IPAF-getParentIP__table_vlc_1nq_pt__entry__2}

| Type | Description |
|-|-|
| Chaîne | Adresse IP parent |
[Tableau 8. Renvoie]

{#r_IPAF-getParentIP__table_vlc_1nq_pt}  
L'exemple suivant montre comment utiliser getParentIP() dans un script d'arrière-plan pour obtenir l'adresse IP parent.

    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 
      }

Sortie :

    172.21.12.11

L'exemple suivant montre comment utiliser getParentIP() dans une règle métier pour obtenir l'adresse IP parent.

    ((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) {#ariaid-title6}

Définit le champ d'adresse IP parent pour le CI actuel.
{#r_IPAF-setParentIP_S__table_bgs_rmq_pt__entry__3}

| Nom | Type | Description |
|-|-|-|
| ip | Chaîne | Adresse IP parent du CI actuel. |
[Tableau 9. Paramètres]

{#r_IPAF-setParentIP_S__table_bgs_rmq_pt} {#r_IPAF-setParentIP_S__table_cgs_rmq_pt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 10. Renvoie]

{#r_IPAF-setParentIP_S__table_cgs_rmq_pt}  
L'exemple suivant montre comment utiliser setParentIP() dans un script d'arrière-plan pour stocker l'adresse IP parente.

    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.
      }

L'exemple suivant montre comment utiliser setParentIP() dans une règle métier pour stocker l'adresse IP parent.

    ((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() {#ariaid-title7}

S'assure que l'enregistrement de ip_address parent est défini sur l'une des adresses IP de la carte réseau, ou le laisse tel quel s'il n'y avait pas de carte réseau.
{#r_IPAF-syncIP__table_ywk_kmq_pt__entry__3}

| Nom | Type | Description |
|-|-|-|
| Aucun |   |   |
[Tableau 11. Paramètres]

{#r_IPAF-syncIP__table_ywk_kmq_pt} {#r_IPAF-syncIP__table_zwk_kmq_pt__entry__2}

| Type | Description |
|-|-|
| nul |   |
[Tableau 12. Renvoie]

{#r_IPAF-syncIP__table_zwk_kmq_pt}  
Il s'agit d'un exemple d'utilisation de la méthode syncIP() dans un script en arrière-plan.

    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.
      }

Il s'agit d'un exemple d'utilisation de la méthode syncIP() dans une règle métier.

    (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);


