Page 1 sur 1

Info sur Windows & reboot

MessagePublié: 16 Mars 2011 à 16:44
par Michael DELIQUE
Code : Tout sélectionner
Public Function WindowsOSInfo() As Variant
   Dim lstRetour List As String
   Dim vrObject As Variant
   Const Computer = "."
   On Error GoTo ErreurHandle
   
   lstRetour("BOOTDEVICE") = ""
   lstRetour("BUILDNUMBER") = ""
   lstRetour("BUILDTYPE") = ""
   lstRetour("CAPTION") = ""
   lstRetour("CODESET") = ""
   lstRetour("COUNTRYCODE") = ""
   lstRetour("CREATIONCLASSNAME") = ""
   lstRetour("CSCREATIONCLASSNAME") = ""
   lstRetour("CSDVERSION") = ""
   lstRetour("CSNAME") = ""
   lstRetour("CURRENTTIMEZONE") = ""
   lstRetour("DATAEXECUTIONPREVENTION_AVAILABLE") = ""
   rem   lstRetour("DATAEXECUTIONPREVENTION_32BITAPPLICATION") = ""
   lstRetour("DATAEXECUTIONPREVENTION_DRIVERS") = ""
   lstRetour("DATAEXECUTIONPREVENTION_SUPPORTPOLICY") = ""
   lstRetour("DEBUG") = ""
   lstRetour("DESCRIPTION") = ""
   lstRetour("DISTRIBUTED") = ""
   lstRetour("ENCRYPTIONLEVEL") = ""
   lstRetour("FOREGROUNDAPPLICATIONBOOST") = ""
   lstRetour("FREEPHYSICALMEMORY") = ""
   lstRetour("FREESPACEINPAGINGFILES") = ""
   lstRetour("FREEVIRTUALMEMORY") = ""
   lstRetour("INSTALLDATE") = ""
   lstRetour("LARGESYSTEMCACHE") = ""
   lstRetour("LASTBOOTUPTIME") = ""
   lstRetour("LOCALDATETIME") = ""
   lstRetour("LOCALE") = ""
   lstRetour("MANUFACTURER") = ""
   lstRetour("MAXNUMBEROFPROCESSES") = ""
   lstRetour("MAXPROCESSMEMORYSIZE") = ""
   lstRetour("MUILANGUAGES") = ""
   lstRetour("NAME") = ""
   lstRetour("NUMBEROFLICENSEDUSERS") = ""
   lstRetour("NUMBEROFPROCESSES") = ""
   lstRetour("NUMBERSOFUSERS") = ""
   lstRetour("OPERATINGSYSTEMSKU") = ""
   lstRetour("ORGANIZATION") = ""
   lstRetour("OSARCHITECTURE") = ""
   lstRetour("OSLANGUAGE") = ""
   lstRetour("OSPRODUCTSUITE") = ""
   lstRetour("OSTYPE") = ""
   lstRetour("OTHERTYPEDESCRIPTION") = ""
   lstRetour("PAEENABLED") = ""
   lstRetour("PLUSPRODUCTID") = ""
   lstRetour("PLUSVERSIONNUMBER") = ""
   lstRetour("PRIMARY") = ""
   lstRetour("PRODUCTTYPE") = ""
   lstRetour("REGISTEREDUSER") = ""
   lstRetour("SERIALNUMBER") = ""
   lstRetour("SERVICEPACKMAJORVERSION") = ""
   lstRetour("SERVICEPACKMINORVERSION") = ""
   lstRetour("SIZESTOREDINPAGINGFILES") = ""
   lstRetour("STATUS") = ""
   lstRetour("SUITEMASK") = ""
   lstRetour("SYSTEMDEVICE") = ""
   lstRetour("SYSTEMDIRECTORY") = ""
   lstRetour("SYSTEMDRIVE") = ""
   lstRetour("TOTALSWAPSPACESIZE") = ""
   lstRetour("TOTALVIRTUALMEMORYSIZE") = ""
   lstRetour("TOTALVISIBLEMEMORYSIZE") = ""
   lstRetour("VERSION") = ""
   lstRetour("WINDOWSDIRECTORY") = ""

   Set vrObject = GetObject("WinMgmts:{impersonationLevel=impersonate, authenticationLevel=connect, (security)}!\\" +Computer + "\root\CIMv2").ExecQuery("Select * from Win32_OperatingSystem")
   
   ForAll value In vrObject
      On Error Resume Next
      lstRetour("BOOTDEVICE") = CStr(value.BootDevice)
      lstRetour("BUILDNUMBER") = CStr(value.BuildNumber)
      lstRetour("BUILDTYPE") = CStr(value.BuildType)
      lstRetour("CAPTION") = CStr(value.Caption)
      lstRetour("CODESET") = CStr(value.CodeSet)
      lstRetour("COUNTRYCODE") = CStr(value.CountryCode)
      lstRetour("CREATIONCLASSNAME") = CStr(value.CreationClassName)
      lstRetour("CSCREATIONCLASSNAME") = CStr(value.CSCreationClassName)
      lstRetour("CSDVERSION") = CStr(value.CSDVersion)
      lstRetour("CSNAME") = CStr(value.CSName)
      lstRetour("CURRENTTIMEZONE") = CStr(value.CurrentTimeZone)
      lstRetour("DATAEXECUTIONPREVENTION_AVAILABLE") = CStr(value.DataExecutionPrevention_Available)
      rem   lstRetour("DATAEXECUTIONPREVENTION_32BITAPPLICATION") = CStr(value.DataExecutionPrevention_32BitApplications)
      lstRetour("DATAEXECUTIONPREVENTION_DRIVERS") = CStr(value.DataExecutionPrevention_Drivers)
      lstRetour("DATAEXECUTIONPREVENTION_SUPPORTPOLICY") = CStr(value.DataExecutionPrevention_SupportPolicy)
      lstRetour("DEBUG") = CStr(value.Debug)
      lstRetour("DESCRIPTION") = CStr(value.Description)
      lstRetour("DISTRIBUTED") = CStr(value.Distributed)
      lstRetour("ENCRYPTIONLEVEL") = CStr(value.EncryptionLevel)
      lstRetour("FOREGROUNDAPPLICATIONBOOST") = CStr(value.ForegroundApplicationBoost)
      lstRetour("FREEPHYSICALMEMORY") = CStr(value.FreePhysicalMemory)
      lstRetour("FREESPACEINPAGINGFILES") = CStr(value.FreeSpaceInPagingFiles)
      lstRetour("FREEVIRTUALMEMORY") = CStr(value.FreeVirtualMemory)
      lstRetour("INSTALLDATE") = CStr(value.InstallDate)
      lstRetour("LARGESYSTEMCACHE") = CStr(value.LargeSystemCache)
      lstRetour("LASTBOOTUPTIME") = CStr(value.LastBootUpTime)
      lstRetour("LOCALDATETIME") = CStr(value.LocalDateTime)
      lstRetour("LOCALE") = CStr(value.Locale)
      lstRetour("MANUFACTURER") = CStr(value.Manufacturer)
      lstRetour("MAXNUMBEROFPROCESSES") = CStr(value.MaxNumberOfProcesses)
      lstRetour("MAXPROCESSMEMORYSIZE") = CStr(value.MaxProcessMemorySize)
      lstRetour("MUILANGUAGES") = CStr(Join(value.MUILanguages,","))
      lstRetour("NAME") = CStr(value.Name)
      lstRetour("NUMBEROFLICENSEDUSERS") = CStr(value.NumberOfLicensedUsers)
      lstRetour("NUMBEROFPROCESSES") = CStr(value.NumberOfProcesses)
      lstRetour("NUMBERSOFUSERS") = CStr(value.NumberOfUsers)
      lstRetour("OPERATINGSYSTEMSKU") = CStr(value.OperatingSystemSKU)
      lstRetour("ORGANIZATION") = CStr(value.Organization)
      lstRetour("OSARCHITECTURE") = CStr(value.OSArchitecture)
      lstRetour("OSLANGUAGE") = CStr(value.OSLanguage)
      lstRetour("OSPRODUCTSUITE") = CStr(value.OSProductSuite)
      lstRetour("OSTYPE") = CStr(value.OSType)
      lstRetour("OTHERTYPEDESCRIPTION") = CStr(value.OtherTypeDescription)
      lstRetour("PAEENABLED") = CStr(value.PAEEnabled)
      lstRetour("PLUSPRODUCTID") = CStr(value.PlusProductID)
      lstRetour("PLUSVERSIONNUMBER") = CStr(value.PlusVersionNumber)
      lstRetour("PRIMARY") = CStr(value.Primary)
      lstRetour("PRODUCTTYPE") = CStr(value.ProductType)
      lstRetour("REGISTEREDUSER") = CStr(value.RegisteredUser)
      lstRetour("SERIALNUMBER") = CStr(value.SerialNumber)
      lstRetour("SERVICEPACKMAJORVERSION") = CStr(value.ServicePackMajorVersion)
      lstRetour("SERVICEPACKMINORVERSION") = CStr(value.ServicePackMinorVersion)
      lstRetour("SIZESTOREDINPAGINGFILES") = CStr(value.SizeStoredInPagingFiles)
      lstRetour("STATUS") = CStr(value.Status)
      lstRetour("SUITEMASK") = CStr(value.SuiteMask)
      lstRetour("SYSTEMDEVICE") = CStr(value.SystemDevice)
      lstRetour("SYSTEMDIRECTORY") = CStr(value.SystemDirectory)
      lstRetour("SYSTEMDRIVE") = CStr(value.SystemDrive)
      lstRetour("TOTALSWAPSPACESIZE") = CStr(value.TotalSwapSpaceSize)
      lstRetour("TOTALVIRTUALMEMORYSIZE") = CStr(value.TotalVirtualMemorySize)
      lstRetour("TOTALVISIBLEMEMORYSIZE") = CStr(value.TotalVisibleMemorySize)
      lstRetour("VERSION") = CStr(value.Version)
      lstRetour("WINDOWSDIRECTORY") = CStr(value.WindowsDirectory)
      On Error GoTo ErreurHandle
   End ForAll
   
   Set vrObject = Nothing
   WindowsOSInfo = lstRetour
   Erase lstRetour

   Exit Function
ErreurHandle:
   MsgBox "("+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Erase lstRetour
   lstRetour("BOOTDEVICE") = ""
   lstRetour("BUILDNUMBER") = ""
   lstRetour("BUILDTYPE") = ""
   lstRetour("CAPTION") = ""
   lstRetour("CODESET") = ""
   lstRetour("COUNTRYCODE") = ""
   lstRetour("CREATIONCLASSNAME") = ""
   lstRetour("CSCREATIONCLASSNAME") = ""
   lstRetour("CSDVERSION") = ""
   lstRetour("CSNAME") = ""
   lstRetour("CURRENTTIMEZONE") = ""
   lstRetour("DATAEXECUTIONPREVENTION_AVAILABLE") = ""
   rem   lstRetour("DATAEXECUTIONPREVENTION_32BITAPPLICATION") = ""
   lstRetour("DATAEXECUTIONPREVENTION_DRIVERS") = ""
   lstRetour("DATAEXECUTIONPREVENTION_SUPPORTPOLICY") = ""
   lstRetour("DEBUG") = ""
   lstRetour("DESCRIPTION") = ""
   lstRetour("DISTRIBUTED") = ""
   lstRetour("ENCRYPTIONLEVEL") = ""
   lstRetour("FOREGROUNDAPPLICATIONBOOST") = ""
   lstRetour("FREEPHYSICALMEMORY") = ""
   lstRetour("FREESPACEINPAGINGFILES") = ""
   lstRetour("FREEVIRTUALMEMORY") = ""
   lstRetour("INSTALLDATE") = ""
   lstRetour("LARGESYSTEMCACHE") = ""
   lstRetour("LASTBOOTUPTIME") = ""
   lstRetour("LOCALDATETIME") = ""
   lstRetour("LOCALE") = ""
   lstRetour("MANUFACTURER") = ""
   lstRetour("MAXNUMBEROFPROCESSES") = ""
   lstRetour("MAXPROCESSMEMORYSIZE") = ""
   lstRetour("MUILANGUAGES") = ""
   lstRetour("NAME") = ""
   lstRetour("NUMBEROFLICENSEDUSERS") = ""
   lstRetour("NUMBEROFPROCESSES") = ""
   lstRetour("NUMBERSOFUSERS") = ""
   lstRetour("OPERATINGSYSTEMSKU") = ""
   lstRetour("ORGANIZATION") = ""
   lstRetour("OSARCHITECTURE") = ""
   lstRetour("OSLANGUAGE") = ""
   lstRetour("OSPRODUCTSUITE") = ""
   lstRetour("OSTYPE") = ""
   lstRetour("OTHERTYPEDESCRIPTION") = ""
   lstRetour("PAEENABLED") = ""
   lstRetour("PLUSPRODUCTID") = ""
   lstRetour("PLUSVERSIONNUMBER") = ""
   lstRetour("PRIMARY") = ""
   lstRetour("PRODUCTTYPE") = ""
   lstRetour("REGISTEREDUSER") = ""
   lstRetour("SERIALNUMBER") = ""
   lstRetour("SERVICEPACKMAJORVERSION") = ""
   lstRetour("SERVICEPACKMINORVERSION") = ""
   lstRetour("SIZESTOREDINPAGINGFILES") = ""
   lstRetour("STATUS") = ""
   lstRetour("SUITEMASK") = ""
   lstRetour("SYSTEMDEVICE") = ""
   lstRetour("SYSTEMDIRECTORY") = ""
   lstRetour("SYSTEMDRIVE") = ""
   lstRetour("TOTALSWAPSPACESIZE") = ""
   lstRetour("TOTALVIRTUALMEMORYSIZE") = ""
   lstRetour("TOTALVISIBLEMEMORYSIZE") = ""
   lstRetour("VERSION") = ""
   lstRetour("WINDOWSDIRECTORY") = ""
   WindowsOSInfo = lstRetour
   Erase lstRetour
   Exit Function
End Function


Code : Tout sélectionner
Public Sub WindowsOSReboot()
   Dim vrObject As Variant
   Const Computer = "."
   On Error GoTo CatchError
   
   REM Set vrObject = GetObject("winmgmts:{(Shutdown)}//" +Computer+"/root/cimv2").ExecQuery("Select Name from Win32_OperatingSystem")
   Set vrObject = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\" + Computer + "\root\cimv2").ExecQuery("Select Name from Win32_OperatingSystem")
   ForAll value In vrObject
      value.Reboot
   End ForAll
   Set vrObject = Nothing
   Exit Sub
CatchError:
   MsgBox "("+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Exit Sub
End Sub


Code : Tout sélectionner
Public Sub WindowsOSShutDown()
   Dim vrObject As Variant
   Const Computer = "."
   On Error GoTo CatchError
   
   Set vrObject = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\" + Computer + "\root\cimv2").ExecQuery("Select Name from Win32_OperatingSystem")
   ForAll value In vrObject
      value.Shutdown
   End ForAll
   Set vrObject = Nothing
   Exit Sub
CatchError:
   MsgBox "("+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Exit Sub
End Sub


Code : Tout sélectionner
Public Sub WindowsOSShutDown32(wnbFlags As Integer)
   Dim vrObject As Variant
   Const Computer = "."
   On Error GoTo CatchError
   
   Select Case Abs(wnbFlags)
   Case 0
      REM (0x0)Log Off
   Case 4
      REM (0x4)Forced Log Off (0 + 4)
   Case 1
      REM (0x1)Shutdown
   Case 5
      REM (0x5) Forced Shutdown (1 + 4)
   Case 2
      REM (0x2)Reboot
   Case 6
      REM (0x6) Forced Reboot (2 + 4)
   Case 8
      REM (0x8) Power Off
   Case 12
      REM (0xC) Forced Power Off (8 + 4)
   Case Else
      Error 9999,"Bady Type ShutDown : "+CStr(wnbFlags)
   End Select
   
   Set vrObject = GetObject("winmgmts:{impersonationLevel=impersonate,(Shutdown)}!\\" + Computer + "\root\cimv2").ExecQuery("Select Name from Win32_OperatingSystem")
   ForAll value In vrObject
      value.Win32Shutdown(Abs(wnbFlags))
   End ForAll
   Set vrObject = Nothing
   Exit Sub
CatchError:
   MsgBox "("+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Exit Sub
End Sub


Code : Tout sélectionner
Public Sub WindowsOSShutDown32Tracker(wnbFlags As Integer, wnbTimeout As Integer,wComment As String)
   On Error GoTo CatchError
   Dim vrObject As Variant
   Const Computer = "."
   On Error GoTo CatchError
   
   Select Case Abs(wnbFlags)
   Case 0
      REM (0x0)Log Off
   Case 4
      REM (0x4)Forced Log Off (0 + 4)
   Case 1
      REM (0x1)Shutdown
   Case 5
      REM (0x5) Forced Shutdown (1 + 4)
   Case 2
      REM (0x2)Reboot
   Case 6
      REM (0x6) Forced Reboot (2 + 4)
   Case 8
      REM (0x8) Power Off
   Case 12
      REM (0xC) Forced Power Off (8 + 4)
   Case Else
      Error 9999,"Bady Type ShutDown : "+CStr(wnbFlags)
   End Select
   
   Set vrObject = GetObject("winmgmts:{(Shutdown)}//" +Computer+"/root/cimv2").ExecQuery("Select Name from Win32_OperatingSystem")
   ForAll value In vrObject      
      Select Case LCase(Trim(CStr(value.Name)))
      Case "windows server 2003","window 7","window seven","windows vista", "windows XP", "wWindows 2000", "windows nt 4.0"
         Error 9999,"Not available for this Operating System : "+CStr(value.Name)
      Case Else
         value.Win32ShutdownTracker Abs(wnbTimeOut),Trim(wComment),0,Abs(wnbFlags)            
      End Select      
   End ForAll
   Set vrObject = Nothing
   Exit Sub
CatchError:
   MsgBox "("+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   Exit Sub
   Exit Sub
End Sub