Dim result As Int32
result = 0
Dim scope As New Management.ManagementScope( _
"\\localhost\root\cimv2")
scope.Options.EnablePrivileges = True
scope.Connect()
Dim oq As New System.Management.ObjectQuery( _
"SELECT * FROM Win32_OperatingSystem")
Dim query1 As New Management.ManagementObjectSearcher(scope, oq)
Dim queryCollection1 As Management.ManagementObjectCollection = query1.Get()
Dim mo As Management.ManagementObject
For Each mo In queryCollection1
Dim ss As String() = {"6", "0"}
mo.InvokeMethod("Win32Shutdown", ss)