Win32ShutdownTracker method of the Win32_OperatingSystem class
The Win32ShutdownTracker method provides the same set of shutdown options supported by the Win32Shutdown method in Win32_OperatingSystem, but it also allows you to specify comments, a reason for shutdown, or a timeout.
Syntax
uint32 Win32ShutdownTracker(
[in] uint32 Timeout,
[in] string Comment,
[in] uint32 ReasonCode,
[in] sint32 Flags
);
Parameters
-
Timeout [in]
-
Time, in seconds, before shutdown takes place. The default value is 0 (zero).
-
Comment [in]
-
Message to display in the shutdown dialog box that is also stored as a comment in the event log entry.
-
ReasonCode [in]
-
Reason for initiating the shutdown.
-
Flags [in]
-
Bitmapped set of flags to shut the computer down. To force a command, add the Force flag (4) to the command value. Using Force in conjunction with Shutdown or Reboot on a remote computer immediately shuts down everything (including WMI, COM, and so on), or reboots the remote computer. This results in an indeterminate return value.
-
0 (0x0)
-
Log Off
-
4 (0x4)
-
Forced Log Off (0 + 4)
-
1 (0x1)
-
Shutdown
-
5 (0x5)
-
Forced Shutdown (1 + 4)
-
2 (0x2)
-
Reboot
-
6 (0x6)
-
Forced Reboot (2 + 4)
-
8 (0x8)
-
Power Off
-
12 (0xC)
-
Forced Power Off (8 + 4)
Return value
Returns zero (0) to indicate success. Any other number indicates an error. For error codes, see WMI Error Constants or WbemErrorEnum. For general HRESULT values, see System Error Codes.
-
Success (0)
-
Other (1–4294967295)
Remarks
The calling process must have the SE_SHUTDOWN_NAME privilege.
Examples
The following VBScript code sample describes how to call Win32ShutdownTracker.
Set objArgs = Wscript.Arguments
intTimeOut = objArgs(0) 'Countdown time (in seconds) before action
strComment = objArgs(1) 'Message to display
intFlags = objArgs(2) 'Set of flags to shutdown the computer:
'0 = Logoff, 4 = Forced Logoff (0+4), 1 = Shutdown, 2 = Reboot, 6 = Forced Reboot (2+4), 8 = Power Off, 12 = Forced Power Off (8+4) - 2 (Reboot)
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
objOperatingSystem.Win32ShutdownTracker intTimeOut,strComment,0,intFlags
Next
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows Vista |
Minimum supported server |
Windows Server 2008 |
Namespace |
Root\CIMV2 |
MOF |
|
DLL |
|
See also