#
#!/usr/bin/perl
## User einer lokalen Gruppe entfernen, und zwar ueber PCs eines ganzen Netzbereiches
##
## Parameter: 1.: Netz 2.: Erste IP 3.: Letzte IP, welche bearbeitet werden soll.
##
## Aufruf Beispiel, um alle PCs von 192.168.0.10 bis 192.168.0.254 
##    netAdminLocalGroupDeleteUsers.pl 192.168.0. 10 254

use Net::Ping; use strict;
use Win32::NetAdmin qw(LocalGroupDeleteUsers LocalGroupAddUsers);

## HIER GRUPPE UND USER EINTRAGEN
my $LocalGroup = "administratoren";
my $User = "Domain\\cmarx" ;

## Uebergabe-Parameter in Variablen schreiben
my $IP_Netz = $ARGV[0] ; my $IP_Host_Start = $ARGV[1] ; my $IP_Host_Ende = $ARGV[2] ;

## Perl-Ping initialisieren
my $p = Net::Ping->new("icmp");
unless (defined $p) { die "Kann Objekt Net::Ping nicht erzeugen:\n $!\n";}

foreach my $IP_Host ( $IP_Host_Start .. $IP_Host_Ende ) {
        my $Ip = "${IP_Netz}$IP_Host";

        if ( $p->ping( $Ip, 2 ) ) {
                print "== Host $Ip IST UP! ==\n";
                
                print "LocalGroupDeleteUsers(\"\\\\$Ip\", \"$LocalGroup\", \"$User\")" ;
                LocalGroupDeleteUsers("\\\\$Ip", "$LocalGroup", "$User") or print "LocalGroupDeleteUsers() failed:\n$^E\n";
                ## Hiermit kann ein User in eine Gruppe aufgenommen werden
                #print "LocalGroupAddUsers(\"\\\\$Ip\", \"$LocalGroup\", \"$User\")\n";
                #LocalGroupAddUsers("\\\\$Ip", "$LocalGroup", "$User") or print "LocalGroupAddUsers() failed:\n$^E\n";

                print "\n";
        }
        else { 
                print "PC $Ip ist NICHT ERREICHBAR!\n";
        }
}

JoernBruns/perl/netAdminLocalGroupDeleteUsers (zuletzt geändert am 2008-11-03 14:16:23 durch JoernBruns)