Click to Rate and Give Feedback
MSDN
MSDN Library
WMI Reference
WMI Classes
Win32 Classes
 Win32Shutdown Method of the Win32_O...
Win32Shutdown Method of the Win32_OperatingSystem Class

The Win32ShutdownWMI class method provides the full set of shutdown options supported by Win32 operating systems. These include logoff, shutdown, reboot, and forcing a logoff, shutdown, or reboot. The calling process must have the SE_SHUTDOWN_NAME privilege.

Windows NT 4.0 and Windows Me/98/95:  SE_SHUTDOWN_NAME privilege is not required.

This topic uses Managed Object Format (MOF) syntax. For more information about using this method, see Calling a Method.

Syntax

MOF
uint32 Win32Shutdown(
    sint32 Flags,
    sint32 Reserved
);

Parameters

Flags

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.

ValueMeaning
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)

 

Reserved

A means to extend Win32Shutdown. Currently, the Reserved parameter is ignored.

Return Value

Returns zero (0) to indicate success. Any other number indicates an error. For error codes, see WMI Error Constants or WbemErrorEnum.

Remarks

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.

Windows Server 2003, Windows XP, Windows 2000, Windows NT 4.0, and Windows Me/98/95:  The Win32ShutdownTracker method is not available.

Examples

For script code examples, see WMI Tasks for Scripts and Applications and the TechNet ScriptCenter Script Repository.

For C++ code examples, see WMI C++ Application Examples.

Requirements

Minimum supported clientWindows 2000 Professional
Minimum supported serverWindows 2000 Server
MOFCimwin32.mof
DLLCimwin32.dll
Namespace\root\cimv2

See Also

Operating System Classes
Win32_OperatingSystem
Win32ShutdownTracker

Send comments about this topic to Microsoft

Build date: 11/3/2009

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
To reboot , logOff or shutdown the above method can use used like this in VB.Net      Muna ... Red-Devile   |   Edit   |   Show History

Dim

testResult AsSingle

Dim WMIServiceObject, ComputerObject AsObject

'Now get some privileges

WMIServiceObject = GetObject(

"Winmgmts:{impersonationLevel=impersonate,(Debug,Shutdown)}")

ForEach ComputerObject In WMIServiceObject.InstancesOf("Win32_OperatingSystem")

testResult = ComputerObject.Win32Shutdown(2 + 4, 0)

'reboot

'testResult = ComputerObject.Win32Shutdown(0, 0) 'logoff

' testResult = ComputerObject.Win32Shutdown(8 + 4, 0) 'shutdown

If testResult <> 0 Then

MsgBox("Sorry, an error has occurred while trying to perform selected operation")

Else

'Operation selected in statement above if condition would be carried out

EndIf

Next

For win2008 it will reboot instead of shutdown when flag=5      peters cheng   |   Edit   |   Show History

use jawin and WMI, the computer will reboot instead of shutdown

...

wbemObject = new ISWbemObject();

...

wbemObject.invoke("Win32Shutdown",
new Integer(5));

...

but it works fine for win2003.

Tags What's this?: Add a tag
Flag as ContentBug
Reboot instead of Shutdown statement mentioned above not correct?      Paul Weterings   |   Edit   |   Show History

Contrary to what Peter mentions I was able to use the method just fine to do a forced shutdown, with Windows 2008 R2 (didn't test with 2008 yet).

Snippet:

Function ShutDown(strComputer)
ShutDown = -1
WScript.Echo "Shutting down: " & strComputer
on error resume next
Set objWMIShutDownService = GetObject("winmgmts:" & "{impersonationLevel=impersonate,(Shutdown)}!\\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIShutDownService.ExecQuery("Select * from Win32_OperatingSystem")
If Err <> 0 Then
DisplayErrorInfo
Else
For Each objOperatingSystem in colOperatingSystems
' See: http://msdn.microsoft.com/en-us/library/aa394058(VS.85).aspx
ShutDown = ObjOperatingSystem.Win32Shutdown(1+4,0)
' WScript.Echo ObjOperatingSystem.Name
Next
End If
on error goto 0
End Function


Flag as ContentBug
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker