Win32_OperatingSystem 类的 Win32ShutdownTracker 方法

Win32ShutdownTracker 方法提供了Win32_OperatingSystemWin32Shutdown 方法支持的相同关闭选项集,但它还允许您指定注释、关闭原因或超时。

语法

uint32 Win32ShutdownTracker(
  [in] uint32 Timeout,
  [in] string Comment,
  [in] uint32 ReasonCode,
  [in] sint32 Flags
);

参数

Timeout [in]

关闭前的时间(秒)。 默认值为 0(零)。

注释 [in]

要显示在关闭对话框中的消息,该消息也作为注释存储在事件日志条目中。

ReasonCode [in]

启动关闭的原因。

Flags [in]

用于关闭计算机的已位图标志集。 若要强制命令,请将 Force 标志 (4) 添加到命令值。 将 Force 与远程计算机上的关机或重新启动结合使用会立即关闭所有 (包括 WMI、COM 等) ) ,或重新启动远程计算机。 这会导致不确定的返回值。

0 (0x0)

注销

4 (0x4)

强制注销 (0 + 4)

1 (0x1)

关机

5 (0x5)

强制关闭 (1 + 4)

2 (0x2)

重新启动

6 (0x6)

强制重启 (2 + 4)

8 (0x8)

关闭电源

12 (0xC)

强制关机 (8 + 4)

返回值

返回零 (0) 以指示成功。 其他任何数字表示出现错误。 有关错误代码,请参阅 WMI 错误常量WbemErrorEnum。 有关常规 HRESULT 值,请参阅 系统错误代码

成功 (0)

其他 (1–4294967295)

备注

调用进程必须具有 SE_SHUTDOWN_NAME 特权。

示例

以下 VBScript 代码示例介绍如何调用 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

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
命名空间
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

另请参阅

操作系统类

Win32_OperatingSystem

Win32Shutdown