Info sur Windows & reboot

Info sur Windows & reboot

Messagepar Michael DELIQUE » 16 Mars 2011 à 16:44

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
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Retour vers Divers