mirror of
				https://github.com/eworm-de/routeros-scripts.git
				synced 2024-05-11 05:55:19 +00:00 
			
		
		
		
	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.
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#!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);
 | 
						|
}
 |