#!"C:\Perl\bin\perl.exe" ############### # Dienste 1.0 # ############### use Win32::Service; use strict; use CGI qw(:standard); #print header; #print start html('Dienste'); #print "
"; #print "[General |"; #print "HTTPD/WWW |"; #print "Memory |"; #print "File System |"; #print "Users |"; #print "Processes]"; #print "
"; #print end_html; my $key; my $value; my %ServiceList; my %status; my $status; Win32::Service::GetServices("", \%ServiceList); #Aktuelle Service in Hash Liste(%ServiceList) # Hautprogramm aufrufen AuswahlMenue(); exit 0; sub AuswahlMenue() { my $auswahl; print header; print start_html('Dienste'); print "############ Auswahlmenue ############
"; print "
"; print "1. Aktive Dienste auslesen
"; print "2. Gestoppte Dienste auslesen
"; print "3. Dienst stoppen
"; print "4. Dienste starten
"; print "5. Skript beenden
"; print "
"; print "#####################################
"; print "
"; print "
"; # print "Geben Sie Ihre Auswahl ein:
"; #In diesem Teil gibt er mir ein Fehler aus, print "
"; #weiß jemand warum ????????? print "
" # print end_html; $auswahl = ; chomp($auswahl); if($auswahl eq '1') { AktiveDiensteAuflisten(); } if($auswahl eq '2') { GestoppteDiensteAuflisten(); } if($auswahl eq '3') { DienstStoppen(); } if($auswahl eq '4') { DienstStarten(); } if($auswahl eq '5') { exit 0; } } sub AktiveDiensteAuflisten() { # Durchgehen der Hash Liste + Spalten in Variablen packen while (($key, $value) = each %ServiceList) { Win32::Service::GetStatus("", $value, \%status); if ($status{'CurrentState'} == 4) { print "$key | $value\n"; # Ausgabe #print "$status{'CurrentState'} \n"; # Status wird in Zahlen angezeigt print "\n"; } } } sub GestoppteDiensteAuflisten() { # Durchgehen der Hash Liste + Spalten in Variablen packen while (($key, $value) = each %ServiceList) { Win32::Service::GetStatus("", $value, \%status); if ($status{'CurrentState'} == 1) { print "$key | $value\n"; # Ausgabe #print "$status{'CurrentState'} \n"; # Status wird in Zahlen angezeigt print "\n"; } } } sub DienstStoppen() { my $returncode; my $dienstname; print "Name des zu stoppenden Dienstes eingeben:\n"; print "-> "; $dienstname = ; chomp($dienstname); Win32::Service::StopService("", $dienstname); } sub DienstStarten() { my $returncode; my $dienstname; print "Name des zu startenden Dienstes eingeben:\n"; print "-> "; $dienstname = ; chomp($dienstname); Win32::Service::StartService("", $dienstname); }