print-ou-ip.pl 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/usr/bin/perl -CS
  2. #
  3. # Copyright (C) Roman Dmitiriev, rnd@rajven.ru
  4. #
  5. use FindBin '$Bin';
  6. use lib "/opt/Eye/scripts";
  7. use strict;
  8. use DBI;
  9. use Time::Local;
  10. use Net::Patricia;
  11. use Data::Dumper;
  12. use eyelib::config;
  13. use eyelib::main;
  14. use eyelib::net_utils;
  15. use eyelib::database;
  16. my $OU_ID=$ARGV[0];
  17. my $ou_filter=" and L.ou_id=$OU_ID ";
  18. if (!$OU_ID) { $ou_filter=''; }
  19. #get userid list
  20. my $user_auth_list = $dbh->prepare( "SELECT A.ip,A.ip_int,A.dns_name FROM User_auth as A, User_list as L where L.id=A.user_id and A.deleted=0 $ou_filter ORDER by ip_int" );
  21. if ( !defined $user_auth_list ) { die "Cannot prepare statement: $DBI::errstr\n"; }
  22. $user_auth_list->execute;
  23. # user auth list
  24. my $authlist_ref = $user_auth_list->fetchall_arrayref();
  25. $user_auth_list->finish();
  26. $dbh->disconnect;
  27. foreach my $row (@$authlist_ref) {
  28. next if (!$row);
  29. my $ip=trim($row->[0]);
  30. my $ip_int=trim($row->[1]);
  31. my $dns_name=trim($row->[2]);
  32. next if (!$ip_int);
  33. next if (!$ip);
  34. my $default_name;
  35. if ($dns_name) { $default_name=$dns_name; } else {
  36. $default_name = $ip;
  37. $default_name =~s/192.168.//g;
  38. $default_name =~s/10.1.//g;
  39. }
  40. $default_name =~s/_/-/g;
  41. $default_name =~s/[.]/-/g;
  42. $default_name =~s/ /-/g;
  43. print $ip.' '.$default_name."\n";
  44. }
  45. exit 0;