Task Scheduler - Put Computer into Standby Mode

    Task Scheduler - Put Computer into Standby Mode

    Task Scheduler - Put Computer into Standby Mode

    How to Use Task Scheduler to Put Computer into Standby Mode
    Published by
    Designer Media Ltd


    Scheduling Sleep Mode via the Task Scheduler

       Information
    This tutorial shows you how to schedule your computer to go into Sleep Mode via Task Scheduler. It uses a combination of the program PSShutdown and VBScirpt. The advantages of using this instead of the Power Policy is that it can place logged off computers to sleep as well.


    PsShutdown.exe

    Download PsShutdown.exe. Now place it in the %windows% folder, or if you place it somewhere else, note that location so that you can change it in the script below.

    Scheduling the Task

    Here's an example of a task set to run every hour. If the user you're attempting to use this through doesn't have privileges, then you can use this as a group policy log on script.

    To explore scheduling tasks options, type "schtasks.exe /?" without quotes in a command prompt. Use the client computer if scheduling through a group policy.

    Code:
    SCHTASKS.exe /Create /S %computername% /RU "SYSTEM" /ST 00:00:00 /SC HOURLY /SD 01/01/2007 /TN "StandBy" /TR "cscript.exe C:\ValidPath\standby-hibernate.vbs
    The Script

    This script relies on the fact that PsShutdown.exe is placed in the %windows% folder. The location of the program can be changed to anywhere as long as PsShutdown.exe exists there and the system account has access rights. If you do change the directory, find the following line in the script below and change %windir%\psshutdown.exe to reflect the new location.
    objShell.run "%windir%\psshutdown.exe -d -accepteula",
    Code:
    '** Script Name: "standby-hibernate.vbs" **
    Option Explicit
    On Error Resume Next
    Dim strComputer, sUserName, bLoggedOn, bReboot, objWMIService, 
        colComputer, objComputer
    Dim bStandby, objShell
    strComputer = "."
     
    Set objShell = WScript.CreateObject("Wscript.Shell")
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & strComputer 
        & "\root\cimv2") 
    Set colComputer = objWMIService.ExecQuery _
        ("Select * from Win32_ComputerSystem")
     
    For Each objComputer in colComputer
        sUserName = objComputer.UserName
        'WScript.Echo "UserName:  " & objComputer.UserName
         If sUserName  <> "null" Then
             bLoggedOn = True
         End If
    Next
     
    If Err = 0 Then
        If bLoggedOn Then
            WScript.Echo strComputer & " 
                is not Logged Off."
            bStandby = False
        Else
            WScript.Echo strComputer & " 
                is Logged Off."
            bStandby = True
        End If
    Else
        WScript.Echo "Error accessing computer:  " 
            & strComputer
        bStandby = False
    End If    
    On Error Goto 0
     
    WScript.Echo "bStandby:  " & bStandby
     
    If bStandby = True Then
        WScript.Echo "Going into standby..."
        'Go to standby
        objShell.run "%windir%\psshutdown.exe -d -accepteula", 
            0, False
    Else
        WScript.Echo "Not going into standby..."
    End If
    Scripts from the Energy Star website.







  1. Posts : 2
    windows 7 ultimate
       #1

    Windows 7 Task Scheduler sleep command.

    Well, I figured it out. To put a Windows 7 computer to sleep at a specified time using the Task Scheduler is a two step process.

    First, you must disable the hibernation function. This can be accomplished with Admin rights on the CMD screen. See tutorial below:

    Hibernate - Enable or Disable

    Second, you need to use the following command in the Windows Task Scheduler:

    Rundll32.exe Powrprof.dll,SetSuspendState Sleep

    That is it!
      My Computer


  2. Posts : 1
    XP, Vista
       #2

    Beautiful!


    Thanks Robert, your suggestion is exactly what I was looking for and follows my cardinal rule of KISS. I now have one task that wakes my computer to run a program for 3 hours and then a task to put it back into standby when the three hours is up. Perfect. Oh, this works on a Vista machine and probably will work on XP also.
      My Computer


  3. Posts : 19
    windows7 ultimate x32
       #3

    Easy way to sleep:
    Code:
    rundll32.exe powrprof.dll,SetSuspendState 0,1,0
    Last edited by Brink; 29 Oct 2013 at 13:18. Reason: removed link
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 17:27.
Find Us