---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# MIDServerFinder - Global

# MIDServerFinder - Global {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 minutes to read

The MIDServerFinder script include provides methods to find a list of MID Servers for specified IP addresses.

Use in server scripts to get the MID Server list.

## MIDServerFinder - MIDServerFinder() {#ariaid-title2}

Creates an instance of MIDServerFinder.
{#r_MSFD-MIDServerFinder__table_ikc_bfl_zt__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 1. Parameters]

{#r_MSFD-MIDServerFinder__table_ikc_bfl_zt} {#r_MSFD-MIDServerFinder__table_jkc_bfl_zt__entry__2}

| Type | Description |
|-|-|
| void |   |
[Table 2. Returns]

{#r_MSFD-MIDServerFinder__table_jkc_bfl_zt}

## MIDServerFinder - getMIDServers() {#ariaid-title3}

Gets the names of MID servers available for a given range and capability.
{#r_MSFD-getMIDServers__table_jff_pjl_zt__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 3. Parameters]

{#r_MSFD-getMIDServers__table_jff_pjl_zt} {#r_MSFD-getMIDServers__table_kff_pjl_zt__entry__2}

| Type | Description |
|-|-|
| Array | An array of MID server names. If no MID servers are available, returns an empty array. |
[Table 4. Returns]

{#r_MSFD-getMIDServers__table_kff_pjl_zt}  

    var msf = new MIDServerFinder();
    msf.setRanges('10.10.10.1-10.10.11.254');
    var msnames = msf.getMIDServers();
     
    for(var i=0; i<msnames.length; i++) {
      gs.print(msnames[i]);
    };

## MIDServerFinder - getMIDServersBySysId() {#ariaid-title4}

Gets the sys_ids of MID servers available for a given range and capability.
{#r_MSFD-getMIDServersBySysId__table_rlq_z3l_zt__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 5. Parameters]

{#r_MSFD-getMIDServersBySysId__table_rlq_z3l_zt} {#r_MSFD-getMIDServersBySysId__table_slq_z3l_zt__entry__2}

| Type | Description |
|-|-|
| Array | An array of MID server sys_ids. If no MID servers are available, returns an empty array. |
[Table 6. Returns]

{#r_MSFD-getMIDServersBySysId__table_slq_z3l_zt}  

    var msf = new MIDServerFinder();
    msf.setRanges('10.10.10.1-10.10.11.254');
    var msids = msf.getMIDServersBySysId();
     
    for(var i=0; i<msids.length; i++) {
      gs.print(msids[i]);
    };

## MIDServerFinder - getStatusMessage() {#ariaid-title5}

Gets the state of the finder operation.
{#r_MSFD-getStatusMessage__table_brz_zjl_zt__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 7. Parameters]

{#r_MSFD-getStatusMessage__table_brz_zjl_zt} {#r_MSFD-getStatusMessage__table_crz_zjl_zt__entry__2}

| Type | Description |
|-|-|
| String | The status message |
[Table 8. Returns]

{#r_MSFD-getStatusMessage__table_crz_zjl_zt}  

    var msf = new MIDServerFinder();
    gs.print(msf.getStatusMessage());

## MIDServerFinder - setActive(Boolean flag) {#ariaid-title6}

Sets whether to look for active or inactive MID servers. By default, searches are for
active MID servers unless inactive is specified by this method.
{#r_MSFD-setActive_B__table_ipq_33l_zt__entry__3}

| Name | Type | Description |
|-|-|-|
| flag | Boolean | If true, look for inactive MID servers. If false, do not look for inactive MID servers. |
[Table 9. Parameters]

{#r_MSFD-setActive_B__table_ipq_33l_zt} {#r_MSFD-setActive_B__table_jpq_33l_zt__entry__2}

| Type | Description |
|-|-|
| void |   |
[Table 10. Returns]

{#r_MSFD-setActive_B__table_jpq_33l_zt}  

    var msf = new MIDServerFinder();
    msf.setActive('true');

## MIDServerFinder - setCapabilities(Array capabilities) {#ariaid-title7}

Sets the technologies for which to look.
{#r_MSFD-setCapabilities_A__table_qqt_nhl_zt__entry__3}

| Name | Type | Description |
|-|-|-|
| capabilities | Array | Contains a list of capabilities, for example - `capabilities = ["ssh","wmi","snmp",{"os_domain":"disco"},{"phase":1}];` |
[Table 11. Parameters]

{#r_MSFD-setCapabilities_A__table_qqt_nhl_zt} {#r_MSFD-setCapabilities_A__table_rqt_nhl_zt__entry__2}

| Type | Description |
|-|-|
| void |   |
[Table 12. Returns]

{#r_MSFD-setCapabilities_A__table_rqt_nhl_zt}  

    var msf = new MIDServerFinder();
    msf.setRanges('10.10.10.1-10.10.11.254');
    var capab = ["ssh","wmi","snmp"];
    msf.setCapabilities(capab);

## MIDServerFinder - setDebug(Boolean onOrOff) {#ariaid-title8}

Turns debugging on or off.
{#r_MSFD-setDebug_B__table_u1w_3kl_zt__entry__3}

| Name | Type | Description |
|-|-|-|
| onOrOff | Boolean | True to turn on debugging; false to turn debugging off. |
[Table 13. Parameters]

{#r_MSFD-setDebug_B__table_u1w_3kl_zt} {#r_MSFD-setDebug_B__table_v1w_3kl_zt__entry__2}

| Type | Description |
|-|-|
| void |   |
[Table 14. Returns]

{#r_MSFD-setDebug_B__table_v1w_3kl_zt}  

    var msf = new MIDServerFinder();
    msf.setDebug('true');

## MIDServerFinder - setRanges(String ranges) {#ariaid-title9}

Sets the range of IP addresses for which to look.
{#r_MSFD-setRanges_S__table_uvk_jfl_zt__entry__3}

| Name | Type | Description |
|-|-|-|
| ranges | String | A comma-separated list in one of these formats. * IP addresses (10.10.10.1, 10.10.10.2) * IP networks (10.10.10.0/23) * IP ranges (10.10.10.1-10.10.11.254) {#r_MSFD-setRanges_S__ul_ipr_pfl_zt} |
[Table 15. Parameters]

{#r_MSFD-setRanges_S__table_uvk_jfl_zt} {#r_MSFD-setRanges_S__table_vvk_jfl_zt__entry__2}

| Type | Description |
|-|-|
| void |   |
[Table 16. Returns]

{#r_MSFD-setRanges_S__table_vvk_jfl_zt}  

    var msf = new MIDServerFinder();
    msf.setRanges('10.10.10.1-10.10.11.254');

## MIDServerFinder - setRangesByIPOrHostname(String ipOrHostname) {#ariaid-title10}

Determines if the input is a single IP or a hostname, and passes the IP or multiple IPs
to the setRanges() method.
If the value of ipOrHostname is an IP address, it is passed into the
setRanges() method. It the value is a hostname, we look up the DNS
table (cmdb_ip_address_dns_name) to try resolving the hostname. The result, either an IP or
multiple IPs, is then passes into the setRanges() method.
{#r_MSFD-setRangesByIPOrHname_S__table_rnw_zfl_zt__entry__3}

| Name | Type | Description |
|-|-|-|
| ipOrHostname | String | The IP address, IP range, or host name. |
[Table 17. Parameters]

{#r_MSFD-setRangesByIPOrHname_S__table_rnw_zfl_zt} {#r_MSFD-setRangesByIPOrHname_S__table_snw_zfl_zt__entry__2}

| Type | Description |
|-|-|
| void |   |
[Table 18. Returns]

{#r_MSFD-setRangesByIPOrHname_S__table_snw_zfl_zt}  

    var msf = new MIDServerFinder();
    msf.setRangesByIPOrHostname('10.10.10.1-10.10.11.254');


