Win32_OperatingSystem 类的 Win32ShutdownTracker 方法
Win32ShutdownTracker 方法提供了Win32_OperatingSystem中 Win32Shutdown 方法支持的相同关闭选项集,但它还允许您指定注释、关闭原因或超时。
语法
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 |
|
DLL |
|
另请参阅