Need a unique gift idea?
A Pastebin account makes a great Christmas gift
SHARE
TWEET

WQL VirtualBox Detection

waliedassar Apr 4th, 2015 (edited) 1,430 Never
Upgrade to PRO!
ENDING IN00days00hours00mins00secs
 
  1. ' https://twitter.com/waleedassar
  2. ' http://waliedassar.com/
  3. ' Simple WMI WQL queries for detecting VirtualBox VM's
  4. VBoxFound = False
  5.  
  6. set objX = GetObject("winmgmts:\\.\root\cimv2")
  7.  
  8. ' Win32_NetworkAdapterConfiguration aka NICCONFIG
  9. Set NicQ = objX.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")
  10. For Each Nic in NicQ
  11.         if Not IsNull(Nic.MACAddress) And Not IsNull(Nic.Description) Then
  12.                 MacAddress = LCase(CStr(Nic.MACAddress))
  13.                 Description = LCase(CStr(Nic.Description))
  14.                 'We want to detect the VirtualBox guest, not the host
  15.                 If InStr(1,MacAddress,"08:00:27:") = 1 And InStr(1,Description,"virtualbox") = 0 Then
  16.                    WScript.Echo "Win32_NetworkAdapterConfiguration ==> Nic.MACAddress: " & Nic.MACAddress
  17.                    VBoxFound = True
  18.                 End If
  19.         End If
  20. Next
  21.  
  22. 'Win32_SystemDriver aka sysdriver
  23. Set SySDrvQ = objX.ExecQuery("SELECT * FROM Win32_SystemDriver")
  24. For Each SysDrv in SysDrvQ
  25.     DescSysDrv = SysDrv.Description
  26.         DispSysDrv = SysDrv.DisplayName
  27.     NameSysDrv = SysDrv.Name
  28.         PathSysDrv = SysDrv.PathName
  29.         If Not IsNull(DescSysDrv) Then
  30.            If DescSysDrv = "VirtualBox Guest Driver" Or DescSysDrv = "VirtualBox Guest Mouse Service" Or DescSysDrv = "VirtualBox Shared Folders" Or DescSysDrv = "VBoxVideo" Then
  31.               WScript.Echo "Win32_SystemDriver ==> SysDrv.Description ==> " & DescSysDrv
  32.                   VBoxFound = True
  33.            End If
  34.         End If
  35.        
  36.         If Not IsNull(DispSysDrv) Then
  37.            If DispSysDrv = "VirtualBox Guest Driver" Or DispSysDrv = "VirtualBox Guest Mouse Service" Or DispSysDrv = "VirtualBox Shared Folders" Or DispSysDrv = "VBoxVideo" Then
  38.               WScript.Echo "Win32_SystemDriver ==> SysDrv.DisplayName ==> " & DispSysDrv
  39.                   VBoxFound = True
  40.            End If
  41.         End If
  42.        
  43.         If Not IsNull(NameSysDrv) Then
  44.            If NameSysDrv = "VBoxGuest" Or NameSysDrv = "VBoxMouse" Or NameSysDrv = "VBoxSF" Or NameSysDrv = "VBoxVideo" Then
  45.               WScript.Echo "Win32_SystemDriver ==> SysDrv.Name ==> " & NameSysDrv
  46.                   VBoxFound = True
  47.            End If
  48.         End If
  49.        
  50.     If Not IsNull(PathSysDrv) Then
  51.            PathSysDrv_l = LCase(PathSysDrv)
  52.            If InStr(1,PathSysDrv_l,"vboxguest.sys") > 0 Or InStr(1,PathSysDrv_l,"vboxmouse.sys") > 0 Or InStr(1,PathSysDrv_l,"vboxsf.sys") > 0 Or InStr(1,PathSysDrv_l,"vboxvideo.sys") > 0 Then
  53.               WScript.Echo "Win32_SystemDriver ==> SysDrv.PathName ==> " & PathSysDrv
  54.                   VBoxFound = True
  55.            End If
  56.         End If
  57. Next
  58.  
  59. ' Win32_NTEventLog aka NTEventLog
  60. Set EvtLogQ = objX.ExecQuery("SELECT * FROM Win32_NTEventlogFile")
  61. For Each EvtLogX In EvtLogQ
  62.     If Not IsNull(EvtLogX) Then
  63.            FileNameEvtX = CStr(EvtLogX.FileName)
  64.            FileNameEvtX_l = LCase(FileNameEvtX)
  65.            If FileNameEvtX_l = "sysevent" Or FileNameEvtX_l = "system" Then
  66.               SourcesEvtX = EvtLogX.Sources
  67.                   For Each SourceEvtX in SourcesEvtX
  68.                       SourceEvtX_l = LCase(CStr(SourceEvtX))
  69.                           If SourceEvtX_l = "vboxvideo" Then
  70.                              WScript.Echo "Win32_NTEventlogFile ==> EvtLogX.Sources ==> " & SourceEvtX
  71.                                  VBoxFound = True
  72.                           End If
  73.                   Next
  74.            End If
  75.         End If
  76. Next
  77.  
  78. ' Win32_BIOS aka bios
  79. Set BiosQ = objX.ExecQuery("SELECT * FROM Win32_BIOS")
  80. For Each Bios in BiosQ
  81.     If Not IsNull(Bios) Then
  82.            If Not IsNull(Bios.Manufacturer) Then
  83.               ManufacturerBios = LCase(CStr(Bios.Manufacturer))
  84.                   If InStr(1,ManufacturerBios,"innotek gmbh") > 0 Then
  85.                      WScript.Echo "Win32_BIOS ==> Bios.Manufacturer ==> " & Bios.Manufacturer
  86.                          VBoxFound = True
  87.                   End If
  88.            End If
  89.            If Not IsNull(Bios.SMBIOSBIOSVersion) Then
  90.               SMBIOSBIOSVersionBios = LCase(CStr(Bios.SMBIOSBIOSVersion))
  91.                   If InStr(1,SMBIOSBIOSVersionBios,"virtualbox") > 0 Then
  92.                      WScript.Echo "Win32_BIOS ==> Bios.SMBIOSBIOSVersion ==> " & Bios.SMBIOSBIOSVersion
  93.                          VBoxFound = True
  94.                   End If
  95.            End If
  96.            If Not IsNull(Bios.Version) Then
  97.               VersionBios = LCase(CStr(Bios.Version))
  98.                   If InStr(1,VersionBios,"vbox   - 1") > 0 Then
  99.                      WScript.Echo "Win32_BIOS ==> Bios.Version ==> " & Bios.Version
  100.                          VBoxFound = True
  101.                   End If
  102.            End If
  103.         End If
  104. Next
  105.  
  106. ' Win32_DiskDrive aka diskdrive
  107. Set DiskDriveQ = objX.ExecQuery("SELECT * FROM Win32_DiskDrive")
  108. For Each DiskDrive in DiskDriveQ
  109.     If Not IsNull(DiskDrive) Then
  110.            If Not IsNull(DiskDrive.Model) Then
  111.               ModelDskDrv = LCase(DiskDrive.Model)
  112.                   If ModelDskDrv = "vbox harddisk" Then
  113.                      WScript.Echo "Win32_DiskDrive ==> DiskDrive.Model ==> " & DiskDrive.Model
  114.                          VBoxFound = True
  115.                   End If
  116.            End If
  117.            If Not IsNull(DiskDrive.PNPDeviceID) Then
  118.               PNPDeviceIDDskDrv = LCase(DiskDrive.PNPDeviceID)
  119.                   If InStr(1,PNPDeviceIDDskDrv,"diskvbox") > 0 Then
  120.                      WScript.Echo "Win32_DiskDrive ==> DiskDrive.PNPDeviceID ==> " & DiskDrive.PNPDeviceID
  121.                          VBoxFound = True
  122.                   End If
  123.            End If
  124.         End If
  125. Next
  126.  
  127. ' Win32_StartupCommand aka Startup
  128. Set StartupQ = objX.ExecQuery("SELECT * FROM Win32_StartupCommand")
  129. For Each Startup in StartupQ
  130.     If Not IsNull(Startup) Then
  131.            If Not IsNull(Startup.Caption) Then
  132.               CaptionStartup = LCase(CStr(Startup.Caption))
  133.                   If CaptionStartup = "vboxtray" Then
  134.                      WScript.Echo "Win32_StartupCommand ==> Startup.Caption ==> " & Startup.Caption
  135.                          VBoxFound = True
  136.                   End If
  137.            End If
  138.            If Not IsNull(Startup.Command) Then
  139.               CommandStartup = LCase(CStr(Startup.Command))
  140.                   If InStr(1,CommandStartup,"vboxtray.exe") > 0 Then
  141.                      WScript.Echo "Win32_StartupCommand ==> Startup.Command ==> " & Startup.Command
  142.                          VBoxFound = True
  143.                   End If
  144.            End If
  145.            If Not IsNull(Startup.Description) Then
  146.               DescStartup = LCase(CStr(Startup.Description))
  147.                   If DescStartup = "vboxtray" Then
  148.                      WScript.Echo "Win32_StartupCommand ==> Startup.Description ==> " & Startup.Description
  149.                          VBoxFound = True
  150.                   End If
  151.            End If
  152.         End If
  153. Next
  154.  
  155. 'Win32_ComputerSystem aka ComputerSystem
  156. Set ComputerSystemQ = objX.ExecQuery("SELECT * FROM Win32_ComputerSystem")
  157. For Each ComputerSystem in ComputerSystemQ
  158.     If Not IsNull(ComputerSystem) Then
  159.            If Not IsNull(ComputerSystem.Manufacturer) Then
  160.               ManufacturerComputerSystem = LCase(CStr(ComputerSystem.Manufacturer))
  161.                   If ManufacturerComputerSystem  = "innotek gmbh" Then
  162.                      WScript.Echo "Win32_ComputerSystem ==> ComputerSystem.Manufacturer ==> " & ComputerSystem.Manufacturer
  163.                          VBoxFound = True
  164.                   End If
  165.            End If
  166.            If Not IsNull(ComputerSystem.Model) Then
  167.               ModelComputerSystem = LCase(CStr(ComputerSystem.Model))
  168.                   If ModelComputerSystem  = "virtualbox" Then
  169.                      WScript.Echo "Win32_ComputerSystem ==> ComputerSystem.Model ==> " & ComputerSystem.Model
  170.                          VBoxFound = True
  171.                   End If
  172.            End If
  173.            If Not IsNull(ComputerSystem.OEMStringArray) Then
  174.               OEMStringArrayComputerSystem = ComputerSystem.OEMStringArray
  175.               For Each OEM In OEMStringArrayComputerSystem
  176.                       OEM_l = LCase(OEM)
  177.                           If InStr(1,OEM_l,"vboxver_") > 0 Or InStr(1,OEM_l,"vboxrev_") > 0 Then
  178.                              WScript.Echo "Win32_ComputerSystem ==> ComputerSystem.OEMStringArray ==> " & OEM
  179.                                  VBoxFound = True
  180.                           End If
  181.                   Next
  182.            End If
  183.         End If
  184. Next
  185.  
  186. 'Win32_Service aka service
  187. Set ServiceQ = objX.ExecQuery("SELECT * FROM Win32_Service")
  188. For Each Service in ServiceQ
  189.     If Not IsNull(Service) Then
  190.            If Not IsNull(Service.Caption) Then
  191.               CaptionService = LCase(CStr(Service.Caption))
  192.                   If CaptionService = "virtualbox guest additions service" Then
  193.                      WScript.Echo "Win32_Service ==> Service.Caption ==> " & Service.Caption
  194.                          VBoxFound = True
  195.                   End If
  196.            End If
  197.            If Not IsNull(Service.DisplayName) Then
  198.               DisplayNameService = LCase(CStr(Service.DisplayName))
  199.                   If DisplayNameService = "virtualbox guest additions service" Then
  200.                      WScript.Echo "Win32_Service ==> Service.DisplayName ==> " & Service.DisplayName
  201.                          VBoxFound = True
  202.                   End If
  203.            End If
  204.            If Not IsNull(Service.Name) Then
  205.               NameService = LCase(CStr(Service.Name))
  206.                   If NameService = "vboxservice" Then
  207.                      WScript.Echo "Win32_Service ==> Service.Name ==> " & Service.Name
  208.                          VBoxFound = True
  209.                   End If
  210.            End If
  211.            If Not IsNull(Service.PathName) Then
  212.               PathNameService = LCase(CStr(Service.PathName))
  213.                   If InStr(1,PathNameService,"vboxservice.exe") > 0 Then
  214.                      WScript.Echo "Win32_Service ==> Service.PathName ==> " & Service.PathName
  215.                          VBoxFound = True
  216.                   End If
  217.            End If
  218.         End If
  219. Next
  220.  
  221.  
  222. 'Win32_LogicalDisk aka LogicalDisk
  223. Set LogicalDiskQ = objX.ExecQuery("SELECT * FROM Win32_LogicalDisk")
  224. For Each LogicalDisk in LogicalDiskQ
  225.     If Not IsNull(LogicalDisk) Then
  226.            If Not IsNull(LogicalDisk.DriveType) Then
  227.               If LogicalDisk.DriveType = 3 Then
  228.                      If Not IsNull(LogicalDisk.VolumeSerialNumber) Then
  229.                             VolumeSerialNumberLogicalDisk = LCase(LogicalDisk.VolumeSerialNumber)
  230.                                 If VolumeSerialNumberLogicalDisk = "fceae0a3" Then
  231.                                WScript.Echo "Win32_LogicalDisk ==> LogicalDisk.VolumeSerialNumber ==> " & LogicalDisk.VolumeSerialNumber
  232.                                    VBoxFound = True
  233.                                 End If
  234.                          End If
  235.                   ElseIf LogicalDisk.DriveType = 5 Then
  236.                      If Not IsNull(LogicalDisk.VolumeName) Then
  237.                             VolumeNameLogicalDisk = LCase(LogicalDisk.VolumeName)
  238.                                 'Volume name should be "VBOXADDITIONS_4."
  239.                                 If InStr(1,VolumeNameLogicalDisk,"vboxadditions") > 0 Then
  240.                                WScript.Echo "Win32_LogicalDisk ==> LogicalDisk.VolumeName ==> " & LogicalDisk.VolumeName
  241.                                    VBoxFound = True
  242.                                 End If
  243.                          End If          
  244.                   End If
  245.            End If
  246.         End If
  247. Next
  248.  
  249. 'Win32_LocalProgramGroup
  250. Set LogicalProgramGroupQ = objX.ExecQuery("SELECT * FROM Win32_LogicalProgramGroup")
  251. For Each LocalProgramGroup in LogicalProgramGroupQ
  252.     If Not IsNull(LocalProgramGroup) Then
  253.            NameLocalProgramGroup = LCase(LocalProgramGroup.Name)
  254.            If InStr(1,NameLocalProgramGroup,"oracle vm virtualbox guest additions") > 0 Then
  255.               WScript.Echo "Win32_LogicalProgramGroup ==> LocalProgramGroup.Name ==> " & LocalProgramGroup.Name
  256.                   VBoxFound = True
  257.            End If
  258.         End If
  259. Next
  260.  
  261.  
  262.  
  263. 'Win32_NetworkAdapter aka NIC
  264. Set NicQQ = objX.ExecQuery("SELECT * FROM Win32_NetworkAdapter")
  265. For Each NIC_x in NicQQ
  266.         if Not IsNull(NIC_x.MACAddress) And Not IsNull(NIC_x.Description) Then
  267.                 MacAddress_x = LCase(CStr(NIC_x.MACAddress))
  268.                 Description_x  = LCase(CStr(NIC_x.Description))
  269.                 'We want to detect the VirtualBox guest, not the host
  270.                 If InStr(1,MacAddress_x,"08:00:27:") = 1 And InStr(1,Description_x,"virtualbox") = 0 Then
  271.                    WScript.Echo "Wow: Win32_NetworkAdapter ==> NIC.MacAddress: " & NIC_x.MACAddress
  272.                    VBoxFound = True
  273.                 End If
  274.         End If
  275. Next
  276.  
  277.  
  278. 'Win32_Process aka process
  279. Set ProcessQ = objX.ExecQuery("SELECT * FROM Win32_Process")
  280. For Each Process in ProcessQ
  281.     If Not IsNull(Process) Then
  282.            If Not IsNull(Process.Description) Then
  283.               DescProcess = LCase(Process.Description)
  284.                   If DescProcess = "vboxservice.exe" Or DescProcess = "vboxtray.exe" Then
  285.                      WScript.Echo "Win32_Process ==> Process.Description ==> " & Process.Description
  286.                          VBoxFound = True
  287.                   End If
  288.            End If
  289.            If Not IsNull(Process.Name) Then
  290.               NameProcess = LCase(Process.Name)
  291.                   If NameProcess = "vboxservice.exe" Or NameProcess = "vboxtray.exe" Then
  292.                      WScript.Echo "Win32_Process ==> Process.Name ==> " & Process.Name
  293.                          VBoxFound = True
  294.                   End If
  295.            End If
  296.            If Not IsNull(Process.CommandLine) Then
  297.               CmdProcess = LCase(Process.CommandLine)
  298.                   If InStr(1,CmdProcess,"vboxservice.exe") > 0 OR InStr(1,CmdProcess,"vboxtray.exe") > 0 Then
  299.                      WScript.Echo "Win32_Service ==> Process.CommandLine ==> " & Process.CommandLine
  300.                          VBoxFound = True
  301.                   End If
  302.            End If
  303.            If Not IsNull(Process.ExecutablePath) Then
  304.               ExePathProcess = LCase(Process.ExecutablePath)
  305.                   If InStr(1,ExePathProcess,"vboxservice.exe") > 0 OR InStr(1,ExePathProcess,"vboxtray.exe") > 0 Then
  306.                      WScript.Echo "Win32_Service ==> Process.ExecutablePath ==> " & Process.ExecutablePath
  307.                          VBoxFound = True
  308.                   End If
  309.            End If
  310.         End If
  311. Next
  312.  
  313. 'Win32_BaseBoard aka BaseBoard
  314. Set BaseBoardQ = objX.ExecQuery("SELECT * FROM Win32_BaseBoard")
  315. For Each BaseBoard in BaseBoardQ
  316.     If Not IsNull(BaseBoard) Then
  317.            If Not IsNull(BaseBoard.Manufacturer) Then
  318.               ManufacturerBaseBoard = LCase(BaseBoard.Manufacturer)
  319.                   If ManufacturerBaseBoard = "oracle corporation" Then
  320.                      WScript.Echo "Win32_BaseBoard ==> BaseBoard.Manufacturer ==> " & BaseBoard.Manufacturer
  321.                          VBoxFound = True
  322.                   End If
  323.            End If
  324.            If Not IsNull(BaseBoard.Product) Then
  325.               ProductBaseBoard = LCase(BaseBoard.Product)
  326.                   If ProductBaseBoard = "virtualbox" Then
  327.                      WScript.Echo "Win32_BaseBoard ==> BaseBoard.Product ==> " & BaseBoard.Product
  328.                          VBoxFound = True
  329.                   End If
  330.            End If
  331.         End If
  332. Next
  333.  
  334. 'Win32_SystemEnclosure aka SystemEnclosure
  335. Set SystemEnclosureQ = objX.ExecQuery("SELECT * FROM Win32_SystemEnclosure")
  336. For Each SystemEnclosure in SystemEnclosureQ
  337.     If Not IsNull(SystemEnclosure) Then
  338.            If Not IsNull(SystemEnclosure.Manufacturer) Then
  339.               ManufacturerSystemEnclosure = LCase(SystemEnclosure.Manufacturer)
  340.                   If ManufacturerSystemEnclosure = "oracle corporation" Then
  341.                      WScript.Echo "Win32_SystemEnclosure ==> SystemEnclosure.Manufacturer ==> " & SystemEnclosure.Manufacturer
  342.                          VBoxFound = True
  343.                   End If
  344.            End If
  345.         End If
  346. Next
  347.  
  348. 'Win32_CDROMDrive aka cdrom
  349. Set CDRomQ = objX.ExecQuery("SELECT * FROM Win32_CDROMDrive")
  350. For Each CDRom in CDRomQ
  351.     If Not IsNull(CDRom) Then
  352.            If Not IsNull(CDRom.Name) Then
  353.               NameCDRom = LCase(CDRom.Name)
  354.                   If NameCDRom = "vbox cd-rom" Then
  355.                      WScript.Echo "Win32_CDROMDrive ==> CDRom.Name ==> " & CDRom.Name
  356.                          VBoxFound = True
  357.                   End If
  358.            End If
  359.            If Not IsNull(CDRom.VolumeName) Then
  360.               VolumeNameCDRom = LCase(CDRom.VolumeName)
  361.                   'Volume name should be "VBOXADDITIONS_4."
  362.                   If InStr(1,VolumeNameCDRom,"vboxadditions") > 0 Then
  363.                      WScript.Echo "Win32_CDROMDrive ==> CDRom.VolumeName ==> " & CDRom.VolumeName
  364.                          VBoxFound = True
  365.                   End If
  366.            End If
  367.            If Not IsNull(CDRom.DeviceID) Then
  368.               DeviceIDCDRom = LCase(CDRom.DeviceID)
  369.                   If InStr(1,DeviceIDCDRom,"cdromvbox") > 0 Then
  370.                      WScript.Echo "Win32_CDROMDrive ==> CDRom.DeviceID ==> " & CDRom.DeviceID
  371.                          VBoxFound = True
  372.                   End If
  373.            End If
  374.            If Not IsNull(CDRom.PNPDeviceID) Then
  375.               PNPDeviceIDCDRom = LCase(CDRom.PNPDeviceID)
  376.                   If InStr(1,PNPDeviceIDCDRom,"cdromvbox") > 0 Then
  377.                      WScript.Echo "Win32_CDROMDrive ==> CDRom.PNPDeviceID ==> " & CDRom.PNPDeviceID
  378.                          VBoxFound = True
  379.                   End If
  380.            End If                  
  381.         End If
  382. Next
  383.  
  384.  
  385. 'WIN32_NetworkClient aka netclient
  386. Set NetClientQ = objX.ExecQuery("SELECT * FROM WIN32_NetworkClient")
  387. For Each NetClient in NetClientQ
  388.     If Not IsNull(NetClient) Then
  389.            If Not IsNull(NetClient.Description) Then
  390.               DescNetClient = LCase(NetClient.Description)
  391.                   If DescNetClient = "vboxsf" Then
  392.                      WScript.Echo "WIN32_NetworkClient ==> NetClient.Description ==> " & NetClient.Description
  393.                          VBoxFound = True
  394.                   End If
  395.            End If
  396.            If Not IsNull(NetClient.Manufacturer) Then
  397.               ManufacturerNetClient = LCase(NetClient.Manufacturer)
  398.                   If ManufacturerNetClient = "oracle corporation" Then
  399.                      WScript.Echo "WIN32_NetworkClient ==> NetClient.Manufacturer ==> " & NetClient.Manufacturer
  400.                          VBoxFound = True
  401.                   End If
  402.            End If
  403.            If Not IsNull(NetClient.Name) Then
  404.               NameNetClient = LCase(NetClient.Name)
  405.                   If NameNetClient = "virtualbox shared folders" Then
  406.                      WScript.Echo "WIN32_NetworkClient ==> NetClient.Name ==> " & NetClient.Name
  407.                          VBoxFound = True
  408.                   End If
  409.            End If
  410.         End If
  411. Next
  412.  
  413. 'Win32_ComputerSystemProduct aka csproduct
  414. Set CSProductQ = objX.ExecQuery("SELECT * FROM Win32_ComputerSystemProduct")
  415. For Each CSProduct in CSProductQ
  416.     If Not IsNull(CSProduct) Then
  417.            If Not IsNull(CSProduct.Name) Then
  418.               NameCSProduct = LCase(CSProduct.Name)
  419.                   If NameCSProduct = "virtualbox" Then
  420.                      WScript.Echo "Win32_ComputerSystemProduct ==> CSProduct.Name ==> " & CSProduct.Name
  421.                          VBoxFound = True
  422.                   End If
  423.            End If
  424.            If Not IsNull(CSProduct.Vendor) Then
  425.               VendorCSProduct = LCase(CSProduct.Vendor)
  426.                   If VendorCSProduct = "innotek gmbh" Then
  427.                      WScript.Echo "Win32_ComputerSystemProduct ==> CSProduct.Vendor ==> " & CSProduct.Vendor
  428.                          VBoxFound = True
  429.                   End If
  430.            End If
  431.         End If
  432. Next
  433.  
  434. 'Win32_VideoController
  435. Set VideoControllerQ = objX.ExecQuery("SELECT * FROM Win32_VideoController")
  436. For Each VideoController in VideoControllerQ
  437.     If Not IsNull(VideoController) Then
  438.            If Not IsNull(VideoController.Name) Then
  439.               NameVideoController = LCase(VideoController.Name)
  440.                   If NameVideoController = "virtualbox graphics adapter" Then
  441.                      WScript.Echo "Win32_VideoController ==> VideoController.Name ==> " & VideoController.Name
  442.                          VBoxFound = True
  443.                   End If
  444.            End If
  445.            If Not IsNull(VideoController.Description) Then
  446.               DescVideoController = LCase(VideoController.Description)
  447.                   If DescVideoController = "virtualbox graphics adapter" Then
  448.                      WScript.Echo "Win32_VideoController ==> VideoController.Description ==> " & VideoController.Description
  449.                          VBoxFound = True
  450.                   End If
  451.            End If
  452.            If Not IsNull(VideoController.Caption) Then
  453.               CaptionVideoController = LCase(VideoController.Caption)
  454.                   If CaptionVideoController = "virtualbox graphics adapter" Then
  455.                      WScript.Echo "Win32_VideoController ==> VideoController.Caption ==> " & VideoController.Caption
  456.                          VBoxFound = True
  457.                   End If
  458.            End If
  459.            If Not IsNull(VideoController.VideoProcessor) Then
  460.               VideoProcessorVideoController = LCase(VideoController.VideoProcessor)
  461.                   If VideoProcessorVideoController = "vbox" Then
  462.                      WScript.Echo "Win32_VideoController ==> VideoController.VideoProcessor ==> " & VideoController.VideoProcessor
  463.                          VBoxFound = True
  464.                   End If
  465.            End If
  466.            If Not IsNull(VideoController.InstalledDisplayDrivers) Then
  467.               InstalledDisplayDriversVideoController = LCase(VideoController.InstalledDisplayDrivers)
  468.                   If InstalledDisplayDriversVideoController = "vboxdisp.sys" Then
  469.                      WScript.Echo "Win32_VideoController ==> VideoController.InstalledDisplayDrivers ==> " & VideoController.InstalledDisplayDrivers
  470.                          VBoxFound = True
  471.                   End If
  472.            End If
  473.            If Not IsNull(VideoController.InfSection) Then
  474.               InfSectionVideoController = LCase(VideoController.InfSection)
  475.                   If InfSectionVideoController = "vboxvideo" Then
  476.                      WScript.Echo "Win32_VideoController ==> VideoController.InfSection ==> " & VideoController.InfSection
  477.                          VBoxFound = True
  478.                   End If
  479.            End If
  480.            If Not IsNull(VideoController.AdapterCompatibility) Then
  481.               AdapterCompatibilityVideoController = LCase(VideoController.AdapterCompatibility)
  482.                   If AdapterCompatibilityVideoController = "oracle corporation" Then
  483.                      WScript.Echo "Win32_VideoController ==> VideoController.AdapterCompatibility ==> " & VideoController.AdapterCompatibility
  484.                          VBoxFound = True
  485.                   End If
  486.            End If
  487.         End If
  488. Next
  489.  
  490.  
  491. 'Win32_PnPEntity
  492. Set PnPEntityQ = objX.ExecQuery("SELECT * FROM Win32_PnPEntity")
  493. For Each PnPEntity in PnPEntityQ
  494.     If Not IsNull(PnPEntity) Then
  495.            If Not IsNull(PnPEntity.Name) Then
  496.               NamePnPEntity = LCase(PnPEntity.Name)
  497.                   If NamePnPEntity = "virtualbox device" Or NamePnPEntity = "vbox harddisk" Or NamePnPEntity = "vbox cd-rom" Or NamePnPEntity = "virtualbox graphics adapter" Then
  498.                      WScript.Echo "Win32_PnPEntity ==> PnPEntity.Name ==> " & PnPEntity.Name
  499.                          VBoxFound = True
  500.                   End If
  501.            End If
  502.            If Not IsNull(PnPEntity.Caption) Then
  503.               CaptionPnPEntity = LCase(PnPEntity.Caption)
  504.                   If CaptionPnPEntity = "virtualbox device" Or CaptionPnPEntity = "vbox harddisk" Or CaptionPnPEntity = "vbox cd-rom" Or CaptionPnPEntity = "virtualbox graphics adapter" Then
  505.                      WScript.Echo "Win32_PnPEntity ==> PnPEntity.Caption ==> " & PnPEntity.Caption
  506.                          VBoxFound = True
  507.                   End If
  508.            End If
  509.            If Not IsNull(PnPEntity.Description) Then
  510.               DescPnPEntity = LCase(PnPEntity.Description)
  511.                   If DescPnPEntity = "virtualbox device" Or DescPnPEntity = "virtualbox graphics adapter" Then
  512.                      WScript.Echo "Win32_PnPEntity ==> PnPEntity.Description ==> " & PnPEntity.Description
  513.                          VBoxFound = True
  514.                   End If
  515.            End If
  516.            'Had to remove .Manufacturer as it detects Host as well
  517.            'If Not IsNull(PnPEntity.Manufacturer) Then
  518.               'ManuPnPEntity = LCase(PnPEntity.Manufacturer)
  519.                   'If ManuPnPEntity = "oracle corporation" Then
  520.                      'WScript.Echo "Win32_PnPEntity ==> PnPEntity.Manufacturer ==> " & PnPEntity.Manufacturer
  521.                          'VBoxFound = True
  522.                   'End If
  523.            'End If
  524.            If Not IsNull(PnPEntity.Service) Then
  525.               SrvPnPEntity = LCase(PnPEntity.Service)
  526.                   If SrvPnPEntity = "vboxguest" Or SrvPnPEntity = "vboxvideo" Then
  527.                      WScript.Echo "Win32_PnPEntity ==> PnPEntity.Service ==> " & PnPEntity.Service
  528.                          VBoxFound = True
  529.                   End If
  530.            End If
  531.            If Not IsNull(PnPEntity.DeviceID) Then
  532.               DeviceIDPnPEntity = LCase(PnPEntity.DeviceID)
  533.                   If InStr(1,DeviceIDPnPEntity,"diskvbox_") > 0 Or InStr(1,DeviceIDPnPEntity,"cdromvbox_") > 0 Then
  534.                      WScript.Echo "Win32_PnPEntity ==> PnPEntity.DeviceID ==> " & PnPEntity.DeviceID
  535.                          VBoxFound = True
  536.                   End If
  537.            End If
  538.            If Not IsNull(PnPEntity.PNPDeviceID) Then
  539.               PNPDeviceIDPnPEntity = LCase(PnPEntity.PNPDeviceID)
  540.                   If InStr(1,PNPDeviceIDPnPEntity,"diskvbox_") > 0 Or InStr(1,PNPDeviceIDPnPEntity,"cdromvbox_") > 0 Then
  541.                      WScript.Echo "Win32_PnPEntity ==> PnPEntity.PNPDeviceID ==> " & PnPEntity.PNPDeviceID
  542.                          VBoxFound = True
  543.                   End If
  544.            End If
  545.         End If
  546. Next
  547.  
  548. 'Win32_NetworkConnection aka NetUse
  549. Set NetUseQ = objX.ExecQuery("SELECT * FROM Win32_NetworkConnection")
  550. For Each NetUse in NetUseQ
  551.     If Not IsNull(NetUse) Then
  552.            If Not IsNull(NetUse.Name) Then
  553.               NameNetUse = LCase(NetUse.Name)
  554.                   If InStr(1,NameNetUse,"vboxsvr") > 0 Then
  555.                      WScript.Echo "Win32_NetworkConnection ==> NetUse.Name ==> " & NetUse.Name
  556.                          VBoxFound = True
  557.                   End If
  558.            End If
  559.            If Not IsNull(NetUse.Description) Then
  560.               DescNetUse = LCase(NetUse.Description)
  561.                   If  InStr(1,DescNetUse,"virtualbox shared folders") > 0 Then
  562.                      WScript.Echo "Win32_NetworkConnection ==> NetUse.Description ==> " & NetUse.Description
  563.                          VBoxFound = True
  564.                   End If
  565.            End If
  566.            If Not IsNull(NetUse.ProviderName) Then
  567.               PrvNameNetUse = LCase(NetUse.ProviderName)
  568.                   If PrvNameNetUse = "virtualbox shared folders" Then
  569.                      WScript.Echo "Win32_NetworkConnection ==> NetUse.ProviderName ==> " & NetUse.ProviderName
  570.                          VBoxFound = True
  571.                   End If
  572.            End If
  573.  
  574.            If Not IsNull(NetUse.RemoteName) Then
  575.               RemoteNameNetUse = LCase(NetUse.RemoteName)
  576.                   If InStr(1,RemoteNameNetUse,"vboxsvr") > 0 Then
  577.                      WScript.Echo "Win32_NetworkConnection ==> NetUse.RemoteName ==> " & NetUse.RemoteName
  578.                          VBoxFound = True
  579.                   End If
  580.            End If
  581.            If Not IsNull(NetUse.RemotePath) Then
  582.               RemotePathNetUse = LCase(NetUse.RemotePath)
  583.                   If InStr(1,RemotePathNetUse,"vboxsvr") > 0 Then
  584.                      WScript.Echo "Win32_NetworkConnection ==> NetUse.RemotePath ==> " & NetUse.RemotePath
  585.                          VBoxFound = True
  586.                   End If
  587.            End If
  588.         End If
  589. Next
  590.  
  591. If VBoxFound = False Then
  592.    WScript.Echo "VirtualBox Was Not Found"
  593. End If
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top