eLore has asked for the wisdom of the Perl Monks concerning the following question:

Though I've searched the previous posts, and read a bit of Win32::Service, I haven't seen anyone remotely administer services. Has anyone coded an NT service in Perl, which can be connected to remotely? I can't believe that I'd be inventing something new, here.

Examples? Thoughts? (Other than "go away..." *smirk*)

Replies are listed 'Best First'.
Re: Remote NT Service Administration
by Trinary (Pilgrim) on Jan 19, 2001 at 02:56 UTC
    I'd highly, highly recommend picking up Win32 Perl Scripting: The Administrator's handbook by Dave Roth, published by New Riders. I had never written any NT perl and was asked to write a pretty hefty service, and this book made my job far easier. If you can't get the book, get the example code from it.

    Chapter 8 will become your best friend, it goes over managing, adding, removing, starting and stopping services both locally and remotely, writing your own, controlling your own, common modules for all of these, debugging considerations, and more. Wraps it up with a couple full-fledged and fairly useful services. Highly recommend the book, look at the code regardless of whether or not you can find the deadtree version.

    EDIT: I'd recommend picking up Win32::Daemon as well, that's the thing that does the meaty bits of Service handling. Other modules to check on: Win32::NetAdmin, Win32::Perms. Enjoy!

    Trinary

      Thanks for the info! I've already reserved my copy at the local B & N and I'll be picking it up, in a few minutes. Thanks to both Trinary and the_slycer.
      Now all I have to do, is get a clean perl install on the server... *cringe*
Re: Remote NT Service Administration
by the_slycer (Chaplain) on Jan 19, 2001 at 03:05 UTC
    I would also suggest adding yourself to the perl-win32-admin mailing list over at active state. Lots of good info available there (in fact dave roth - who wrote the book above - is often replying and providing assistance). I have found this a good resource when coding for win32 platforms.
Re: Remote NT Service Administration
by t0mas (Priest) on Jan 19, 2001 at 12:23 UTC
    Administer - Yes, a service - No. I used Win32::API to remotely administer the scheduler at RE: How long 'tween now and then? if your'e intrested in an example.

    /brother t0mas
Re: Remote NT Service Administration
by blueAdept (Beadle) on Jan 22, 2001 at 13:50 UTC
    So long as you run your script from an account which is authenticated to the domain, and has admin privledges to the remote system, nothing special is needed.

    Just like it says in the docs:
    Win32::StartService(hostname, servicename)

    You may want to consider looking into the Windows Management Interface(WMI), it has a scripting API available to perl users. It too could be used to manage services on a remote systems(and lots more). Its kinda kludgy though, and involves more work than using Win32::Service. WMI is microsoft's version of the WBEM standard which came out of the DTMF. It'll hit prime time as windows2000 becomes more common.