Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.
Seiteneigenschaften



Deutsch

Beschreibung:

Dieses Skript, das einem Newtork zugewiesen ist, überschreibt die SSID und den Preshared Key eines bestimmten WiFi-Netzwerks mit den Variablen

  • context.vars.SSID
  • context.vars.WPAKey

Das ausgewählte WiFi, das außer Betrieb gesetzt wird, ist SSID_TO_CHANGE.

Liste der verwendeten Variablen:

VariableBeschreibung




Add-

In

in Code:

/**

 

 * @param {Config} config

 

 * @param {Context} context

 

 * Do not edit this comment or parameter types. Required for code suggestions


*/


exports.main = function (config, context)
{
    // Function to create VRRP Entry
    var addVRRPEntry = function (routerID, routerIP, mainPrio, backupPrio, remoteSite, comment) {
        var table1_2_8_21_2 = config.getTableByOid("1.2.8.21.2");
        var table_1_2_8_21_2_row_1 = table1_2_8_21_2.createNewRow();
        table_1_2_8_21_2_row_1.setByOid(1, routerID);
        table_1_2_8_21_2_row_1.setByOid(2, routerIP);
        table_1_2_8_21_2_row_1.setByOid(3, mainPrio);
        table_1_2_8_21_2_row_1.setByOid(4, backupPrio);
        table_1_2_8_21_2_row_1.setByOid(5, remoteSite);
        table_1_2_8_21_2_row_1.setByOid(6, comment);
        table1_2_8_21_2.addOrMerge(table_1_2_8_21_2_row_1);
    };
    // If Statement to only create VRRP Entry, if device has the variable VRRP_Prio
    if (context.vars.VRRP_PRIO != "") {
        config.setScalarByOid("1.2.8.21.1", "1");
        // Function Call to create a new Entry
        addVRRPEntry("1", "10.10.10.254", context.vars.VRRP_PRIO, "0", "INTERNET", "");
    }
};

Addin als JSON-Datei:

 {

    // Step 1: obtain _single_ ssid reference
    var ssid = context.network.ssids["SSID_TO_CHANGE"];

    if (!ssid) {
        config.abort("SSID missing");
    }

    if (!context.vars.SSID) {
        config.abort("variable SSID not set");
    }

    if (!context.vars.WPAKey) {
        config.abort("variable WPAKey not set");
    }


    var wlanTable = config.getTableByOid("13.2.20.1");
    var wlanPostfix = context.network.configNameLong + "_" + ssid.name;

    // Step 2: create iterable list of wifi networks
    var rows = wlanTable.getRows();
    var list = [];
    for (var i = 0; i < rows.length; i++) {
        list.push(rows[i]);
    }

    var encrRef = "ENCRREF";

    // Step 3: find matching row that ends with context.network.configNameLong + "_" + ssid.name
    list.filter(function (row) {
        return row.getByOid("1").endsWith(wlanPostfix);
    }).forEach(function (wlanRow) {
        // Step 4: change all matching row (by definition this is only one)
        wlanRow.setByOid(2, context.vars.SSID);
        wlanRow.setByOid(100, context.vars.WPAKey);
        wlanRow.setByOid(102, encrRef);
        wlanTable.addOrMerge(wlanRow);

        var secParamsTable = config.getTableByOid("13.2.20.3");
        var secParamsRow = secParamsTable.createNewRow();
        secParamsRow.setByOid(1, encrRef);
        secParamsRow.setByOid(2, "1");
        secParamsRow.setByOid(4, "32");
        secParamsRow.setByOid(9, "6");
        secParamsRow.setByOid(12, "1");
        secParamsRow.setByOid(13, "1");
        secParamsRow.setByOid(14, "0");
        secParamsRow.setByOid(11, "0");
        secParamsRow.setByOid(16, "1");
        secParamsRow.setByOid(17, "0");
        secParamsRow.setByOid(19, "0");
        secParamsRow.setByOid(26, "524288");
        secParamsRow.setByOid(20, "");
        secParamsRow.setByOid(21, "");
        secParamsTable.addOrMerge(secParamsRow);
    });
};

Add-in als JSON-Datei:

View file
namessid_preshared_key_lx.json
height150


Englisch

Description:

This script, assigned to a newtork, overrides a specific WiFi networks SSID and Preshared Key with the variables

  • context.vars.SSID
  • context.vars.WPAKey

The selected WiFi that will be overridden is SSID_TO_CHANGE.

Used

List of used variables:

VariableDescription




Add-In Code

/**
 * @param {Config} config
 * @param {Context} context
 * Do not edit this comment or parameter types. Required for code suggestions
*/
exports.main = function (config, context) {

    // Step 1: obtain _single_ ssid reference
    var ssid = context.network.ssids["SSID_TO_CHANGE"];

    if (!ssid) {
        config.abort("SSID missing");
    }

    if (!context.vars.SSID) {
        config.abort("variable SSID not set");
    }

    if (!context.vars.WPAKey) {
        config.abort("variable WPAKey not set");
    }


    var wlanTable = config.getTableByOid("13.2.20.1");
    var wlanPostfix = context.network.configNameLong + "_" + ssid.name;

    // Step 2: create iterable list of wifi networks
    var rows = wlanTable.getRows();
    var list = [];
    for (var i = 0; i < rows.length; i++) {
        list.push(rows[i]);
    }

    var encrRef = "ENCRREF";

    // Step 3: find matching row that ends with context.network.configNameLong + "_" + ssid.name
    list.filter(function (row) {
        return row.getByOid("1").endsWith(wlanPostfix);
    }).forEach(function (wlanRow) {
        // Step 4: change all matching row (by definition this is only one)
        wlanRow.setByOid(2, context.vars.SSID);
        wlanRow.setByOid(100, context.vars.WPAKey);
        wlanRow.setByOid(102, encrRef);
        wlanTable.addOrMerge(wlanRow);

        var secParamsTable = config.getTableByOid("13.2.20.3");
        var secParamsRow = secParamsTable.createNewRow();
        secParamsRow.setByOid(1, encrRef);
        secParamsRow.setByOid(2, "1");
        secParamsRow.setByOid(4, "32");
        secParamsRow.setByOid(9, "6");
        secParamsRow.setByOid(12, "1");
        secParamsRow.setByOid(13, "1");
        secParamsRow.setByOid(14, "0");
        secParamsRow.setByOid(11, "0");
        secParamsRow.setByOid(16, "1");
        secParamsRow.setByOid(17, "0");
        secParamsRow.setByOid(19, "0");
        secParamsRow.setByOid(26, "524288");
        secParamsRow.setByOid(20, "");
        secParamsRow.setByOid(21, "");
        secParamsTable.addOrMerge(secParamsRow);
    });
};

Addin as JSON file:

View file
namessid_preshared_key_lx.json
height150