print-ou-ip.pl 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/usr/bin/perl
  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. use eyelib::common;
  17. my $OU_ID=$ARGV[0];
  18. my $ou_filter=" and L.ou_id=$OU_ID ";
  19. if (!$OU_ID) { $ou_filter=''; }
  20. #get userid list
  21. 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" );
  22. if ( !defined $user_auth_list ) { die "Cannot prepare statement: $DBI::errstr\n"; }
  23. $user_auth_list->execute;
  24. # user auth list
  25. my $authlist_ref = $user_auth_list->fetchall_arrayref();
  26. $user_auth_list->finish();
  27. $dbh->disconnect;
  28. foreach my $row (@$authlist_ref) {
  29. next if (!$row);
  30. my $ip=trim($row->[0]);
  31. my $ip_int=trim($row->[1]);
  32. my $dns_name=trim($row->[2]);
  33. next if (!$ip_int);
  34. next if (!$ip);
  35. my $default_name;
  36. if ($dns_name) { $default_name=$dns_name; } else {
  37. $default_name = $ip;
  38. $default_name =~s/192.168.//g;
  39. $default_name =~s/10.1.//g;
  40. }
  41. $default_name =~s/_/-/g;
  42. $default_name =~s/[.]/-/g;
  43. $default_name =~s/ /-/g;
  44. print $ip.' '.$default_name."\n";
  45. }
  46. exit 0;