Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: using TaskScheduler to reboot Win32 machine

by bmann (Priest)
on Jul 12, 2007 at 01:26 UTC ( #626123=note: print w/replies, xml ) Need Help??

in reply to using TaskScheduler to reboot Win32 machine

The docs (Win32::TaskScheduler) say SetApplicationName expects just the name of the app. Use SetParameters for the rest, ie:

my $APP_NAME = q#c:\\perl\\bin\\perl.exe#; my $PARAMS = q#-MWin32 -e "Win32::InitiateSystemShutdown(' ','Rebootin +g',5,1,1);"#; # ... $scheduler->SetApplicationName( $APP_NAME ); $scheduler->SetParameters( $PARAMS );

Note: untested!!! now tested, parameters and command line are properly quoted.

Replies are listed 'Best First'.
Re^2: using TaskScheduler to reboot Win32 machine
by ethrbunny (Monk) on Jul 12, 2007 at 03:41 UTC
    Nice catch. That was biting me in the rear all afternoon.

    Oddly enough - it appears quoted correctly in the task scheduler but when 'run' it doesn't seem to work. It doesn't give any errors like before ("can't start", etc) though. Hmph.
      Have you checked for the last system message after the call from within Perl? That might tell if you if it's running at all and help determine the issue

      print "SysMsg - " . Win32::FormatMessage(Win32::GetLastError());

      Also, anything in the event log after you attempt the run?

      On the Windows side: I assume user/pass is a static account that will never change? Otherwise if you have a rotating password scheme for security in place, this will haunt you later in a bad way!
        backticks - `command`
        Got it working. The problem was a space in the first param to InitiateSystemShutdown. It was trying to find a machine called '<space here>' instead of the local box.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://626123]
Corion had a meeting with some startup today. They have a very interesting DB proxy product, but their tech stack is really, really weird. They use the Pg wire protocol but not the Pg libraries to handle it. They support Pg SQL syntax, but don't use ...
[Corion]: ... the Pg parser (or so they claim).
[Corion]: Also, they rolled their own user management instead of supporting LDAP for user/role management, but that just shows that they're new in the enterprise market :)
Corion also just now realizes they didn't leave business cards.
[erix]: can you drop a name? :)
[karlgoethebier]: Corion: "...didn't leave business cards" Those guys came from Muränia?

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (11)
As of 2018-04-19 12:21 GMT
Find Nodes?
    Voting Booth?