mirror of
https://github.com/eworm-de/routeros-scripts
synced 2024-05-14 08:04:19 +00:00
15d8652c29
With RouterOS 6.x a print always starts with numeric id zero, then counts up. This is no longer true with RouterOS 7.x... Thus we have to handle two or more digits in input.
42 lines
1.4 KiB
Text
42 lines
1.4 KiB
Text
#!rsc by RouterOS
|
|
# RouterOS script: accesslist-duplicates.capsman
|
|
# Copyright (c) 2018-2021 Christian Hesse <mail@eworm.de>
|
|
# https://git.eworm.de/cgit/routeros-scripts/about/COPYING.md
|
|
#
|
|
# print duplicate antries in wireless access list
|
|
# https://git.eworm.de/cgit/routeros-scripts/about/doc/accesslist-duplicates.md
|
|
#
|
|
# !! Do not edit this file, it is generated from template!
|
|
|
|
:local 0 "accesslist-duplicates.capsman";
|
|
:global GlobalFunctionsReady;
|
|
:while ($GlobalFunctionsReady != true) do={ :delay 500ms; }
|
|
|
|
:local Read do={ :return; }
|
|
|
|
:local Seen [ :toarray "" ];
|
|
:local Shown [ :toarray "" ];
|
|
|
|
:foreach AccList in=[ / caps-man access-list find where mac-address!="00:00:00:00:00:00" ] do={
|
|
:local Mac [ / caps-man access-list get $AccList mac-address ];
|
|
:foreach SeenMac in=$Seen do={
|
|
:if ($SeenMac = $Mac) do={
|
|
:local Skip 0;
|
|
:foreach ShownMac in=$Shown do={
|
|
:if ($ShownMac = $Mac) do={ :set Skip 1; }
|
|
}
|
|
:if ($Skip = 0) do={
|
|
/ caps-man access-list print where mac-address=$Mac;
|
|
:set Shown ($Shown, $Mac);
|
|
|
|
:put "\nNumeric id to remove, any key to skip!";
|
|
:local Remove [ :tonum [ $Read ] ];
|
|
:if ([ :typeof $Remove ] = "num") do={
|
|
:put ("Removing numeric id " . $Remove . "...\n");
|
|
/ caps-man access-list remove $Remove;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
:set Seen ($Seen, $Mac);
|
|
}
|