Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Force SMS Hardware Inventory

by OzzyOsbourne (Chaplain)
on May 14, 2002 at 19:16 UTC ( #166542=sourcecode: print w/replies, xml ) Need Help??
Category: NT Admin
Author/Contact Info OzzyOsbourne
Description: Command line force of an SMS hardware inventory on a remote box.
# 5.14.02 Jonathan E. Dyer
# Script forces a hardware inventory for SMS for a single box running 
+SMS.
# Run script like this: forceinventory.pl <server name>
# no backslashes are needed in the server name.

# ping the box, and if ping response
#   Start SMS hardware inventory service (hwservvice)
#   Query the SMS hardware inventory service until it's stopped (it st
+ops itself)
#   Stop the SMS client inventory service (cliservice)
#   Query the SMS client inventory service is until stopped
#   Start the SMS client inventory service service
#   Query the SMS client inventory service until it's started
# else if no ping response
#   end


use strict;
use Win32::Service qw(GetStatus StopService StartService);

#define variables
my $server;
my $hwservice='sms hardware inventory agent service';
my $cliservice='clisvc';
use Net::Ping;
my $server=$ARGV[0];
#get the input


#Stop/start the services
my $p = Net::Ping->new("icmp");
if ($p->ping("$server",15)){;
    StartService("$server","$hwservice");
    &getstatus($server,$hwservice,1);
    StopService("$server","$cliservice");
    &getstatus($server,$cliservice,1);
    StartService("$server","$cliservice");
    &getstatus($server,$cliservice,4);
}else{
    print "No ping response from $server";
}
$p->close();
print "\n";

sub getstatus{
    my  %statusHash;
    my %statcodeHash = ('1' => 'stopped','2' => 'start pending','3' =>
+ 'stop pending','4' => 'running','5' => 'continue pending','6' => 'pa
+use pending','7' => 'paused');
    do {
    GetStatus("$_[0]", "$_[1]", \%statusHash);
    }until ($statusHash{CurrentState}==$_[2]);
    print " $_[1] $statcodeHash{$statusHash{\"CurrentState\"}} on $_[0
+]";
}
Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://166542]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (6)
As of 2017-06-27 07:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How many monitors do you use while coding?















    Results (600 votes). Check out past polls.