Advertisement
Stewie410

pcinfo.vbs

Feb 2nd, 2018
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.29 KB | None | 0 0
  1. ' ******************************
  2. ' Get Refined List of System Information
  3. ' Written By Joshua Arzt, M.I.T.
  4. ' Version: 1.2
  5. ' Created: March 1, 2006
  6. ' Revised: May 17, 2006
  7. ' ******************************
  8.  
  9. On Error Resume Next
  10.  
  11. ' Open File For Writing
  12. Set WshNetwork = WScript.CreateObject("WScript.Network")
  13. Dim objFileSystem, objOutputFile
  14. Dim strOutputFile
  15.  
  16. ' generate a filename base on the script name
  17. strOutputFile = "./" & Split(WshNetwork.ComputerName, ".")(0) & ".txt"
  18.  
  19. Set objFileSystem = CreateObject("Scripting.fileSystemObject")
  20. Set objOutputFile = objFileSystem.CreateTextFile(strOutputFile, TRUE)
  21.  
  22. '----Computer Information (Start)---------------------------'
  23.  
  24. objOutputFile.WriteLine "*************************************************"
  25. objOutputFile.WriteLine vbtab & vbtab & "System Information"
  26. objOutputFile.WriteLine "*************************************************"
  27. objOutputFile.WriteLine ""
  28.  
  29. strComputer = "."
  30.  
  31. ' Get CPU Information
  32. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
  33. Set colProcessor = objWMIService.ExecQuery("SELECT * FROM Win32_Processor")
  34.  
  35. For Each colProc In colProcessor
  36. strDescription = ProcessorName(colProc.Name)
  37. ProcCount = ProcCount + 1
  38. Next
  39.  
  40.  
  41. ' Create Text for Output
  42. If ProcCount = 1 Then
  43. strCPUAll = strDescription
  44. Else
  45. strCPUAll = strDescription & " (" & ProcCount & " Processors)"
  46. End If
  47.  
  48. '--------------
  49.  
  50. ' Export Information
  51. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  52. Set colCS = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48)
  53.  
  54. ' Write Basic System Information
  55. For Each objItem in colCS
  56.  
  57. Set colOS = objWMIService.ExecQuery("Select * from Win32_OperatingSystem",,48)
  58. For Each objItemOS in colOS
  59.  
  60. ' Get SP Version
  61. If objItemOS.CSDVersion <> "" Then
  62. strSPVersion = objItemOS.CSDVersion
  63. Else
  64. strSPVersion = "No Service Packs Installed"
  65. End If
  66.  
  67. If objItemOS.LastBootUpTime <> "" Then
  68. strLastBoot = DateConvert(objItemOS.LastBootUpTime)
  69. Else
  70. strLastBoot = "N/A"
  71. End If
  72.  
  73. objOutputFile.WriteLine "Computer Name: " & vbTab & vbTab & objItemOS.csname
  74. objOutputFile.WriteLine "Manufacturer: " & vbTab & vbTab & objItem.Manufacturer
  75. objOutputFile.WriteLine "Model: " & vbTab & vbTab & vbTab & objItem.Model
  76. objOutputFile.WriteLine "SystemType: " & vbTab & vbTab & objItem.SystemType
  77. objOutputFile.WriteLine ""
  78. objOutputFile.WriteLine "CPU: " & vbtab & vbtab & vbtab & strCPUAll
  79. objOutputFile.WriteLine "Total Physical Memory: " & vbTab & MemoryConvert(objItem.TotalPhysicalMemory)
  80. objOutputFile.WriteLine ""
  81. objOutputFile.WriteLine "OS: " & vbTab & vbTab & vbTab & objItemOS.Caption
  82. objOutputFile.WriteLine "Release: " & vbTab & vbTab & strSPVersion
  83. objOutputFile.WriteLine ""
  84. objOutputFile.WriteLine "Free Physical Memory: " & vbTab & FreeMemoryConvert(objItemOS.FreePhysicalMemory)
  85. objOutputFile.WriteLine "Free Space Paging: " & vbTab & FreeMemoryConvert(objItemOS.FreeSpaceInPagingFiles)
  86. objOutputFile.WriteLine "Free Virtual Memory: " & vbTab & FreeMemoryConvert(objItemOS.FreeVirtualMemory)
  87. objOutputFile.WriteLine ""
  88. objOutputFile.WriteLine "Install Date: " & vbTab & vbTab & DateConvert(objItemOS.InstallDate)
  89. objOutputFile.WriteLine "Last Boot-Up Time: " & vbTab & strLastBoot
  90. Next
  91. Next
  92.  
  93. '--------------Computer Information (End)------------------'
  94.  
  95. '-------------Partition Information (Start)----------------'
  96.  
  97. objOutputFile.WriteLine ""
  98. objOutputFile.WriteLine ""
  99. objOutputFile.WriteLine ""
  100. objOutputFile.WriteLine ""
  101. objOutputFile.WriteLine ""
  102. objOutputFile.WriteLine "*************************************************"
  103. objOutputFile.WriteLine vbtab & vbtab & "Disk Information"
  104. objOutputFile.WriteLine "*************************************************"
  105. objOutputFile.WriteLine ""
  106. objOutputFile.WriteLine ""
  107.  
  108. ' Get Drive Count
  109. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  110. Set DiskItemsParent = objWMIService.ExecQuery("Select * from Win32_DiskDrive")
  111. intCount = DiskItemsParent.Count
  112.  
  113. ' Process Drives
  114. For i = 0 To intCount - 1
  115.  
  116. Set DiskItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive WHERE Index = " & i)
  117. For Each diskItem in DiskItems
  118.  
  119. ' Convert Drive Size
  120. If diskItem.Size <> "" Then strSize = ByteConvert(diskItem.Size) Else strSize = "N/A"
  121. If diskItem.StatusInfo <> "" Then strStsInfo = diskItem.StatusInfo Else strStsInfo = "N/A"
  122. If diskItem.SCSIBus <> "" Then strSCSIBus = diskItem.SCSIBus Else strSCSIBus = "N/A"
  123. If diskItem.SCSILogicalUnit <> "" Then strSCSILog = diskItem.SCSILogicalUnit Else strSCSILog = "N/A"
  124. If diskItem.SCSIPort <> "" Then strSCSIPort = diskItem.SCSIPort Else strSCSIPort = "N/A"
  125. If diskItem.SCSITargetId <> "" Then strSCSITarget = diskItem.SCSITargetId Else strSCSITarget = "N/A"
  126.  
  127. objOutputFile.WriteLine ""
  128. objOutputFile.WriteLine "-------------------------------------------------"
  129. objOutputFile.WriteLine vbtab & vbtab & "Disk Drive " & diskItem.Index
  130. objOutputFile.WriteLine "-------------------------------------------------"
  131. objOutputFile.WriteLine ""
  132. objOutputFile.WriteLine "HARDWARE"
  133. objOutputFile.WriteLine "-------------"
  134. objOutputFile.WriteLine ""
  135.  
  136. objOutputFile.WriteLine "Drive Model: " & vbtab & vbtab & diskItem.Model
  137. objOutputFile.WriteLine "Interface Type: " & vbtab & diskItem.InterfaceType
  138. objOutputFile.WriteLine ""
  139. objOutputFile.WriteLine "Disk Size: " & vbtab & vbtab & strSize
  140. objOutputFile.WriteLine "Total Partitions: " & vbtab & diskItem.Partitions
  141. objOutputFile.WriteLine ""
  142. objOutputFile.WriteLine "SCSI Bus: " & vbtab & vbtab & strSCSIBus
  143. objOutputFile.WriteLine "SCSI Logical Unit: " & vbtab & strSCSILog
  144. objOutputFile.WriteLine "SCSI Port: " & vbtab & vbtab & strSCSIPort
  145. objOutputFile.WriteLine "SCSI TargetId: " & vbtab & vbtab & strSCSITarget
  146. objOutputFile.WriteLine ""
  147. objOutputFile.WriteLine "Status: " & vbtab & vbtab & diskItem.Status
  148. objOutputFile.WriteLine "Status Info: " & vbtab & vbtab & strStsInfo
  149. objOutputFile.WriteLine ""
  150. objOutputFile.WriteLine "Total Cylinders: " & vbtab & diskItem.TotalCylinders
  151. objOutputFile.WriteLine "Total Heads: " & vbtab & vbtab & diskItem.TotalHeads
  152. objOutputFile.WriteLine "Sectors Per Track: " & vbtab & diskItem.SectorsPerTrack
  153. objOutputFile.WriteLine "Total Sectors: " & vbtab & vbtab & diskItem.TotalSectors
  154. objOutputFile.WriteLine "Total Tracks: " & vbtab & vbtab & diskItem.TotalTracks
  155. objOutputFile.WriteLine "Tracks Per Cylinder: " & vbtab & diskItem.TracksPerCylinder
  156. objOutputFile.WriteLine ""
  157. objOutputFile.WriteLine ""
  158. objOutputFile.WriteLine ""
  159.  
  160.  
  161. '------------------Partitions------------------------'
  162.  
  163. objOutputFile.WriteLine "PARTITIONS"
  164. objOutputFile.WriteLine "-------------"
  165. objOutputFile.WriteLine ""
  166.  
  167. objOutputFile.WriteLine "Name" & vbtab & "Type" & vbtab & vbtab & vbtab & _
  168. "Total Size" & vbtab & "Free Space" & vbtab & vbtab & "File System" & vbtab & "Bootable"
  169.  
  170. For DriveList = 1 To 2
  171.  
  172. ' Set List
  173. If DriveList = 1 Then
  174. strQuery = "True"
  175. strPartition = "Primary"
  176. strCriteria = "Installable"
  177. ElseIf DriveList = 2 Then
  178. strQuery = "False"
  179. strPartition = "Logical"
  180. strCriteria = "Extended"
  181. End If
  182.  
  183. ' Primary Drives
  184. Set partItemsTest = objWMIService.ExecQuery("SELECT * FROM Win32_DiskPartition " & _
  185. "WHERE PrimaryPartition = " & strQuery & " AND Type LIKE '" & strCriteria & "%'")
  186.  
  187. If partItemsTest.Count > 0 Then
  188. objOutputFile.WriteLine ""
  189. objOutputFile.WriteLine strPartition & " Partitions"
  190.  
  191. Set DriveItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk")
  192. For Each driveItem in DriveItems
  193.  
  194. If (driveItem.FreeSpace <> "") And (driveItem.Size <> "") Then
  195. strFreePerc = FormatNumber(((driveItem.FreeSpace * 100) / driveItem.Size), 2) & "%"
  196. End If
  197.  
  198. If driveItem.Size <> "" Then strSize = ByteConvert(driveItem.Size) Else strSize = "N/A"
  199.  
  200.  
  201. If driveItem.FreeSpace <> "" Or driveItem.FreeSpace <> Null Then
  202. strFree = ByteConvert(driveItem.FreeSpace) & " (" & strFreePerc & ")"
  203. Else
  204. strFree = "N/A"
  205. End If
  206.  
  207. If driveItem.VolumeSerialNumber <> "" Then strSerial = driveItem.VolumeSerialNumber Else strSerial = "N/A"
  208. If driveItem.FileSystem <> "" Then strFS = driveItem.FileSystem Else strFS = "N/A"
  209.  
  210. ' Fix Tabbing
  211. strDescription = TabFix(driveItem.Description, 3, 1)
  212. strSize = TabFix(strSize, 2, 1)
  213. strFree = TabFix(strFree, 2, 1)
  214. strFS = TabFix(strFS, 2, 1)
  215. strPart = "N/A"
  216. strBootPart = "N/A"
  217.  
  218. BootMark = 0
  219. Set LogDiskItems = objWMIService.ExecQuery("Select * from Win32_LogicalDiskToPartition")
  220. For Each logDiskItem in LogDiskItems
  221.  
  222. Set partItems = objWMIService.ExecQuery( _
  223. "Select * from Win32_DiskPartition " & _
  224. "WHERE PrimaryPartition = " & strQuery & " AND DiskIndex = " & diskItem.Index)
  225.  
  226. For Each partItem in PartItems
  227.  
  228. ' Get Drive Letter
  229. strDrive = ExtractPartName(logDiskItem.Dependent)
  230. strPartName = ExtractPartName(logDiskItem.Antecedent)
  231.  
  232. If strPartName = partItem.Name Then
  233. If (driveItem.Name = strDrive) Then
  234. strPart = strPartition
  235. If BootMark = 0 Then
  236. If partItem.Bootable = "True" Then
  237. strBootPart = "Yes"
  238. Else
  239. strBootPart = "No"
  240. End If
  241.  
  242. BootMark = 1
  243. End If
  244. End If
  245. End If
  246. Next
  247. Next
  248.  
  249. If strPart = strPartition Then
  250. ' Output Results
  251. objOutputFile.WriteLine driveItem.Name & vbtab & strDescription & _
  252. vbtab & strSize & vbtab & strFree & vbtab & strFS & vbtab & strBootPart
  253. End If
  254. Next
  255. End If
  256. Next
  257.  
  258. objOutputFile.WriteLine ""
  259. objOutputFile.WriteLine ""
  260. objOutputFile.WriteLine ""
  261.  
  262. '--------------------Partitions-------------------------'
  263. Next
  264. Next
  265.  
  266. '----Partition Information (End)---------------------------'
  267.  
  268.  
  269.  
  270. '----Network Information (Start)---------------------------'
  271.  
  272. objOutputFile.WriteLine ""
  273. objOutputFile.WriteLine ""
  274. objOutputFile.WriteLine ""
  275. objOutputFile.WriteLine "*************************************************"
  276. objOutputFile.WriteLine vbtab & vbtab & "Network Information"
  277. objOutputFile.WriteLine "*************************************************"
  278. objOutputFile.WriteLine ""
  279. objOutputFile.WriteLine ""
  280.  
  281. Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapter")
  282.  
  283. i = 1
  284. Dim STOREDIP(0)
  285. intNum = 0
  286.  
  287. For Each objItem in colItems
  288.  
  289. 'If colItems.Count > 1 Then objOutputFile.WriteLine "Network Adapter #" & i
  290.  
  291. If objItem.NetConnectionStatus <> "" Then
  292.  
  293. ' Determine Connection Status
  294. If objItem.NetConnectionStatus = 0 Then
  295. strNetStat = "Disabled"
  296. ElseIf objItem.NetConnectionStatus = 2 Then
  297. strNetStat = "Connected"
  298. ElseIf objItem.NetConnectionStatus = 7 Then
  299. strNetStat = "Disconnected"
  300. Else
  301. strNetStat = "Unknown"
  302. End If
  303.  
  304. If objItem.NetConnectionStatus <> 0 Then
  305.  
  306. ' Get Network Card Information
  307. Const HKEY_LOCAL_MACHINE = &H80000002
  308. strComputer = "."
  309. strKeyPath1 = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters"
  310. strKeyPath2 = "SYSTEM\CurrentControlSet\Services\NetBT\Parameters"
  311. strHostEntry = "Hostname"
  312. strDomainEntry = "Domain"
  313. strNodeEntry = "DhcpNodeType"
  314. strRoutingEntry = "IPEnableRouter"
  315.  
  316. Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
  317. strComputer & "\root\default:StdRegProv")
  318. objReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath1,strHostEntry,strHostname
  319. objReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath1,strDomainEntry,strDomain
  320. objReg.GetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath2,strNodeEntry,dwNodeType
  321. objReg.GetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath1,strRoutingEntry,dwIPRouting
  322.  
  323. Select Case dwNodeType
  324. Case 4 strNodeType = "Mixed"
  325. Case 8 strNodeType = "Hybrid"
  326. Case Else strNodeType = dwNodeType
  327. End Select
  328.  
  329. If dwIPRouting = 0 Then
  330. strIPRouting = "No"
  331. ElseIf dwIPRouting = 1 Then
  332. strIPRouting = "Yes"
  333. Else
  334. strIPRouting = "?"
  335. End If
  336.  
  337. strComputer = "."
  338. Set objWMIService = GetObject("winmgmts:" _
  339. & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  340.  
  341. Set colFirstNicConfig = objWMIService.ExecQuery _
  342. ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
  343.  
  344. For Each objFirstNicConfig In colFirstNicConfig
  345. strDnsWins = objFirstNicConfig.DNSEnabledForWINSResolution
  346. Next
  347.  
  348. Set colNicConfigs = objWMIService.ExecQuery _
  349. ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
  350.  
  351. sngOsVer = GetOsVer
  352.  
  353. ' Display per-adapter settings.
  354.  
  355. For Each objNicConfig In colNicConfigs
  356. intIndex = objNicConfig.Index
  357. Set objNic = objWMIService.Get("Win32_NetworkAdapter.DeviceID=" & intIndex)
  358.  
  359. ' Connection Name
  360. If sngOsVer > 5 Then
  361. ' Works only in XP / 2003
  362. strNetConn = objNic.NetConnectionID
  363. Else
  364. strNetConn = "Unavailable"
  365. End If
  366.  
  367. If objItem.NetConnectionID = "" Then
  368. strNetConn2 = "Unavailable"
  369. Else
  370. strNetConn2 = objItem.NetConnectionID
  371. End If
  372.  
  373.  
  374. ' IP Addresses
  375. strIPAddresses = ""
  376.  
  377. If Not IsNull(objNicConfig.IPAddress) Then
  378. For Each strIPAddress In objNicConfig.IPAddress
  379. strIPAddresses = strIPAddresses & strIPAddress & " "
  380. Next
  381. End If
  382.  
  383. ' If IP is repeated, and was already reported.
  384.  
  385. intSkipLoop = 0
  386.  
  387. If (strNetConn = strNetConn2) Then
  388. For j = 0 To intNum - 1
  389. If STOREDIP(j) = strIPAddresses Then
  390. intSkipLoop = 1
  391. Exit For
  392. End If
  393. Next
  394.  
  395. If intSkipLoop = 0 Then
  396. ReDim Preserve STOREDIP(intNum)
  397. STOREDIP(intNum) = strIPAddresses
  398. intNum = intNum + 1
  399. End If
  400. Else
  401. intSkipLoop = 1
  402. End If
  403.  
  404. intMsg = MsgBox(STOREDIP.Length)
  405.  
  406. ' Subnets
  407. strIPSubnets = ""
  408.  
  409. If Not IsNull(objNicConfig.IPSubnet) Then
  410. For Each strIPSubnet In objNicConfig.IPSubnet
  411. strIPSubnets = strIPSubnets & strIPSubnet & " "
  412. Next
  413. End If
  414.  
  415.  
  416. ' Gateways
  417. strDefaultIPGateways = ""
  418. If Not IsNull(objNicConfig.DefaultIPGateway) Then
  419. For Each strDefaultIPGateway In objNicConfig.DefaultIPGateway
  420. strDefaultIPGateways = strDefaultIPGateways & strDefaultIPGateway & " "
  421. Next
  422. Else
  423. strDefaultIPGateways = "N/A"
  424. End If
  425.  
  426.  
  427. ' DNS
  428. strDNSServerSearchOrder = ""
  429.  
  430. If Not IsNull(objNicConfig.DNSServerSearchOrder) Then
  431. For Each strDNSServer In objNicConfig.DNSServerSearchOrder
  432. strDNSServerSearchOrder = strDNSServerSearchOrder & strDNSServer & vbcrlf & vbtab & vbtab & vbtab
  433. Next
  434. Else
  435. strDNSServerSearchOrder = "N/A"
  436. End If
  437.  
  438.  
  439. ' WINS
  440. ' Primary WINS
  441. If Not IsNull(objNicConfig.WINSPrimaryServer) Then
  442. If objNicConfig.WINSPrimaryServer = "127.0.0.0" Then
  443. strWINSPrimary = "N/A"
  444. Else
  445. strWINSPrimary = objNicConfig.WINSPrimaryServer
  446. End If
  447. Else
  448. strWINSPrimary = "N/A"
  449. End If
  450.  
  451.  
  452. ' Secondary WINS
  453. If Not IsNull(objNicConfig.WINSSecondaryServer) Then
  454. If objNicConfig.WINSSecondaryServer = "127.0.0.0" Then
  455. strWINSSecondary = "N/A"
  456. Else
  457. strWINSSecondary = objNicConfig.WINSSecondaryServer
  458. End If
  459. Else
  460. strWINSSecondary = "N/A"
  461. End If
  462.  
  463.  
  464. ' DHCP
  465. If objNicConfig.DHCPEnabled Then
  466. dtmRawLeaseObtainedDate = objNicConfig.DHCPLeaseObtained
  467. strFormattedLeaseObtainedDate = WMIDateToString(dtmRawLeaseObtainedDate)
  468.  
  469. dtmRawLeaseExpiresDate = objNicConfig.DHCPLeaseExpires
  470. strFormattedLeaseExpiresDate = WMIDateToString(dtmRawLeaseExpiresDate)
  471.  
  472. strDHCP = objNicConfig.DHCPServer
  473. Else
  474. strDHCP = "N/A"
  475. strFormattedLeaseObtainedDate = "N/A"
  476. strFormattedLeaseExpiresDate = "N/A"
  477. End If
  478.  
  479.  
  480. ' Run Output Process
  481. If (strNetConn = strNetConn2) And (intSkipLoop = 0) Then
  482.  
  483. ' Connection Speed
  484. strComputer = "."
  485. strSpeed = "Unknown"
  486.  
  487. strWinMgMts = "winmgmts:{impersonationLevel=impersonate}!//" & _
  488. strComputer & "/root/wmi"
  489.  
  490. Set objWMI = GetObject(strWinMgMts)
  491. Set listAdapters = objWMI.InstancesOf("MSNdis_LinkSpeed")
  492. For Each objAdapter in listAdapters
  493. If objAdapter.InstanceName = objNicConfig.Description Then
  494. intLength = Len(objAdapter.NdisLinkSpeed/10000)
  495. If intLength > 3 Then
  496. strSpeed = Left(objAdapter.NdisLinkSpeed/10000, intLength - 3)
  497. strSpeed = strSpeed & ".0 Gbps"
  498. Else
  499. strSpeed = objAdapter.NdisLinkSpeed/10000 & " Mbps"
  500. End If
  501. End If
  502. Next
  503.  
  504. ' Output
  505. objOutputFile.WriteLine "Network Adapter #" & i
  506. objOutputFile.WriteLine ""
  507. objOutputFile.WriteLine ""
  508. objOutputFile.Write "Connection Name:" & vbtab & strNetConn & vbcrlf & _
  509. "DNS Suffix:" & vbtab & vbtab & objNicConfig.DNSDomain & vbcrlf & _
  510. "Device Name: " & vbTab & vbtab & objNicConfig.Description & vbcrlf & _
  511. "Physical Address:" & vbtab & objNicConfig.MacAddress & vbcrlf & _
  512. "DHCP Enabled:" & vbtab & vbtab & objNicConfig.DHCPEnabled & vbcrlf & _
  513. vbcrlf & _
  514. "IP Address(es):" & vbtab & vbtab & strIPAddresses & vbcrlf & _
  515. "Subnet Mask" & vbtab & vbtab & strIPSubnets & vbcrlf & _
  516. "Default Gateway:" & vbtab & strDefaultIPGateways & vbcrlf & vbcrlf & _
  517. "DHCP Server:" & vbtab & vbtab & strDHCP & vbcrlf & _
  518. "DNS Servers:" & vbtab & vbtab & strDNSServerSearchOrder & vbcrlf & _
  519. "Primary WINS:" & vbtab & vbtab & strWINSPrimary & vbcrlf & _
  520. "Secondary WINS:" & vbtab & vbtab & strWINSSecondary & vbcrlf & _
  521. "Lease Obtained:" & vbtab & vbtab & strFormattedLeaseObtainedDate & vbcrlf & _
  522. "Lease Expires:" & vbtab & vbtab & strFormattedLeaseExpiresDate & vbcrlf
  523.  
  524. If sngOsVer > 5 Then
  525. ' Works only in XP / 2003
  526. objOutputFile.Write vbcrlf & _
  527. "Connection Status: " & vbtab & strNetStat & vbcrlf & _
  528. "Connection Speed: " & vbtab & strSpeed & vbcrlf
  529. End If
  530.  
  531. objOutputFile.Write vbcrlf & _
  532. vbcrlf & _
  533. "*************************************************" & vbcrlf & _
  534. vbcrlf & _
  535. vbcrlf
  536.  
  537. i = i + 1
  538. End If
  539. Next
  540. Else
  541. objOutputFile.WriteLine "Network Adapter #" & i
  542. objOutputFile.WriteLine ""
  543. objOutputFile.WriteLine ""
  544. objOutputFile.Write "Connection Name:" & vbtab & objItem.NetConnectionID & vbcrlf & _
  545. "Connection Status: " & vbtab & "Disabled" & vbcrlf & _
  546. vbcrlf & _
  547. vbcrlf & _
  548. "*************************************************" & vbcrlf & _
  549. vbcrlf & _
  550. vbcrlf
  551. i = i + 1
  552. End If
  553.  
  554. End If
  555. Next
  556.  
  557. '------------Network Information (End)------------------'
  558.  
  559.  
  560. '-----------------Functions (Start)---------------------'
  561.  
  562. ' Trim All Delimiters
  563. Function NewTrim(strObject)
  564. Dim chrRead, chrRead2
  565. Dim strRead
  566.  
  567. For i = 1 To Len(strObject)
  568.  
  569. chrRead = Mid(strObject, i, 1)
  570.  
  571. If i < Len(strObject) Then
  572. chrRead2 = Mid(strObject, i + 1, 1)
  573. End If
  574.  
  575. If chrRead <> Chr(9) And (chrRead <> Chr(32) Or _
  576. (chrRead = Chr(32) And chrRead2 <> Chr(32))) Then
  577.  
  578. strRead = strRead & chrRead
  579. End If
  580. Next
  581.  
  582. NewTrim = Trim(strRead)
  583. End Function
  584.  
  585.  
  586. ' System Memory Conversion
  587. Function MemoryConvert(strMem)
  588. Dim intLength
  589. Dim intExp
  590. Dim intSize
  591. Dim strSize
  592. Dim strMeasure
  593. Dim strMemory
  594.  
  595. intLength = Len(strMem)
  596.  
  597. If (intLength Mod 4 = 0) Then
  598. intExp = CInt((intLength / 3) - 2)
  599. Else
  600. intExp = CInt((intLength / 3) - 1)
  601. End If
  602.  
  603. ' Convert Exponent to Integer
  604. 'intExp = CInt(intExp)
  605.  
  606. ' Convert to Lowest Integer Value
  607. For intCount = 1 To Len(intExp)
  608. chrRead = Mid(intExp, intCount, 1)
  609. If chrRead = "." Then
  610. Exit For
  611. Else
  612. strRead = strRead & chrRead
  613. End If
  614. Next
  615.  
  616. intExp = Cint(strRead)
  617.  
  618. intSize = CLng(strMem / (2 ^ (intExp * (10))))
  619.  
  620. If Len(intSize) = 1 Then
  621. strFormat = FormatNumber(CStr(intSize), 2)
  622. Else
  623. strFormat = intSize + 1
  624. End If
  625.  
  626. If (intExp = 1) Then
  627. strMeasure = "KB"
  628. ElseIf (intExp = 2) Then
  629. strMeasure = "MB"
  630. ElseIf (intExp = 3) Then
  631. strMeasure = "GB"
  632. ElseIf (intExp = 4) Then
  633. strMeasure = "TB"
  634. ElseIf (intExp = 5) Then
  635. strMeasure = "PB"
  636. ElseIf (intExp = 6) Then
  637. strMeasure = "EB"
  638. End If
  639.  
  640. MemoryConvert = strFormat & " " & strMeasure
  641. End Function
  642.  
  643.  
  644.  
  645. ' Free Memory Conversion
  646. Function FreeMemoryConvert(strMem)
  647. Dim intLength
  648. Dim intExp
  649. Dim intSize
  650. Dim strSize
  651. Dim strMeasure
  652. Dim strMemory
  653.  
  654. intLength = Len(strMem)
  655. intExp = CInt((intLength / 3) - 1)
  656.  
  657. ' Convert to Lowest Integer Value
  658. For intCount = 1 To Len(intExp)
  659. chrRead = Mid(intExp, intCount, 1)
  660. If chrRead = "." Then
  661. Exit For
  662. Else
  663. strRead = strRead & chrRead
  664. End If
  665. Next
  666.  
  667. intExp = Cint(strRead)
  668.  
  669.  
  670. intSize = CLng(strMem / (2 ^ (intExp * (10))))
  671.  
  672. If Len(intSize) = 1 Then
  673. strFormat = FormatNumber(CStr(intSize), 2)
  674. Else
  675. strFormat = intSize + 1
  676. End If
  677.  
  678. If (intExp = 1) Then
  679. strMeasure = "MB"
  680. ElseIf (intExp = 2) Then
  681. strMeasure = "GB"
  682. ElseIf (intExp = 3) Then
  683. strMeasure = "TB"
  684. ElseIf (intExp = 4) Then
  685. strMeasure = "PB"
  686. ElseIf (intExp = 5) Then
  687. strMeasure = "EB"
  688. End If
  689.  
  690. ' Return Value
  691. FreeMemoryConvert = strFormat & " " & strMeasure
  692. End Function
  693.  
  694.  
  695.  
  696. ' System Byte Conversion
  697. Function ByteConvert(strMem)
  698.  
  699. Dim intLength
  700. Dim intExp
  701. Dim intSize
  702. Dim strSize
  703. Dim strMeasure
  704. Dim strMemory
  705.  
  706. intLength = Len(strMem)
  707.  
  708. If (intLength Mod 3 = 0) Then
  709. intExp = (intLength / 3) - 1
  710. Else
  711. intExp = (intLength / 3)
  712. End If
  713.  
  714. ' Convert to Lowest Integer Value
  715. For intCount = 1 To Len(intExp)
  716. chrRead = Mid(intExp, intCount, 1)
  717. If chrRead = "." Then
  718. Exit For
  719. Else
  720. strRead = strRead & chrRead
  721. End If
  722. Next
  723.  
  724. intExp = Cint(strRead)
  725. intSize = (strMem / (2 ^ (intExp * (10))))
  726. strFormat = FormatNumber(CStr(intSize), 2)
  727.  
  728. If (intExp = 1) Then
  729. strMeasure = "KB"
  730. ElseIf (intExp = 2) Then
  731. strMeasure = "MB"
  732. ElseIf (intExp = 3) Then
  733. strMeasure = "GB"
  734. ElseIf (intExp = 4) Then
  735. strMeasure = "TB"
  736. ElseIf (intExp = 5) Then
  737. strMeasure = "PB"
  738. ElseIf (intExp = 6) Then
  739. strMeasure = "EB"
  740. End If
  741.  
  742. ByteConvert = strFormat & " " & strMeasure
  743. End Function
  744.  
  745.  
  746.  
  747. ' Convert Date to Comprehensive Format
  748. Function DateConvert(strDate)
  749.  
  750. strMonth = Mid(strDate, 5, 2)
  751. strDay = Mid(strDate, 7, 2)
  752. strYear = Left(strDate, 4)
  753. strHour = Mid(strDate, 9, 2) + 2
  754. strMinute = Mid(strDate, 11, 2)
  755. strSecond = Mid(strDate, 13, 2)
  756.  
  757. ' Date Convert
  758. If strMonth = "01" Then
  759. strMonth = "January"
  760. ElseIf strMonth = "02" Then
  761. strMonth = "February"
  762. ElseIf strMonth = "03" Then
  763. strMonth = "March"
  764. ElseIf strMonth = "04" Then
  765. strMonth = "April"
  766. ElseIf strMonth = "05" Then
  767. strMonth = "May"
  768. ElseIf strMonth = "06" Then
  769. strMonth = "June"
  770. ElseIf strMonth = "07" Then
  771. strMonth = "July"
  772. ElseIf strMonth = "08" Then
  773. strMonth = "August"
  774. ElseIf strMonth = "09" Then
  775. strMonth = "September"
  776. ElseIf strMonth = "10" Then
  777. strMonth = "October"
  778. ElseIf strMonth = "11" Then
  779. strMonth = "November"
  780. ElseIf strMonth = "12" Then
  781. strMonth = "December"
  782. End If
  783.  
  784. ' Time Convert
  785. If CInt(strHour) <= 12 Then
  786. strTime = strHour & ":" & strMinute & ":" & strSecond & " AM EST"
  787. Else
  788. strTime = CStr(CInt(strHour) - 12) & ":" & strMinute & ":" & strSecond & " PM EST"
  789. End If
  790.  
  791. ' Return Value
  792. DateConvert = strMonth & " " & strDay & ", " & strYear & ", " & strTime
  793. End Function
  794.  
  795.  
  796.  
  797. ' Trim Processor Description
  798. Function ProcessorName(strName)
  799.  
  800. Dim intCounter
  801. Dim strRead
  802. Dim chrRead, chrReadMore
  803.  
  804. For intCounter = 1 to Len(strName)
  805. chrRead = Mid(strName, intCounter, 1)
  806. chrReadMore = Mid(strName, intCounter + 1, 1)
  807. If ((chrRead <> " ") Or ((chrRead = " ") And (chrReadMore <> " "))) Then
  808. strRead = strRead & chrRead
  809. End If
  810. Next
  811.  
  812. ProcessorName = Trim(strRead)
  813. End Function
  814.  
  815.  
  816.  
  817. ' Get Part Name
  818. Function ExtractPartName(strName)
  819.  
  820. Dim chrRead
  821. Dim strRead
  822. Dim i
  823.  
  824. For i = 2 To Len(strName)
  825. chrRead = Mid(strName, Len(strName) - (i - 1), 1)
  826. If chrRead <> Chr(34) Then
  827. strRead = chrRead & strRead
  828. Else
  829. Exit For
  830. End If
  831. Next
  832.  
  833. ExtractPartName = strRead
  834.  
  835. End Function
  836.  
  837.  
  838.  
  839. ' Tab Fix
  840. Function TabFix(strText, intTab, intDisp)
  841. TAB = 8
  842.  
  843. intLength = Len(strText)
  844. intWeight = intLength / TAB
  845.  
  846. ' Convert to Lowest Integer Value
  847. For intCount = 1 To intLength
  848. chrRead = Mid(intWeight, intCount, 1)
  849. If chrRead = "." Then
  850. Exit For
  851. Else
  852. strRead = strRead & chrRead
  853. End If
  854. Next
  855.  
  856. intWeight = CInt(strRead)
  857.  
  858. intResult = intTab - (intWeight + intDisp)
  859.  
  860. If intResult <= 0 Then
  861. ' Do Nothing
  862. ElseIf intResult = 1 Then
  863. strText = strText & vbtab
  864. Else
  865. For i = 1 To intResult
  866. strText = strText & vbtab
  867. Next
  868. End If
  869.  
  870. TabFix = strText
  871. End Function
  872.  
  873.  
  874.  
  875. ' Function: WMIDateStringToDate(dtmDate)
  876. Function WMIDateToString(dtmDate)
  877. WMIDateToString = CDate(Mid(dtmDate, 5, 2) & "/" & _
  878. Mid(dtmDate, 7, 2) & "/" & _
  879. Left(dtmDate, 4) & " " & _
  880. Mid(dtmDate, 9, 2) & ":" & _
  881. Mid(dtmDate, 11, 2) & ":" & _
  882. Mid(dtmDate, 13, 2))
  883. End Function
  884.  
  885.  
  886.  
  887. ' Function: GetOsVer
  888. Function GetOsVer
  889. Set colOperatingSystems = objWMIService.ExecQuery _
  890. ("Select * from Win32_OperatingSystem")
  891. For Each objOperatingSystem In colOperatingSystems
  892. GetOSVer = CSng(Left(objOperatingSystem.Version, 3))
  893. Next
  894. End Function
  895.  
  896. '--------------------Functions (End)--------------------'
  897.  
  898. ' End of File
  899. objOutputFile.WriteLine "End of File"
  900.  
  901. ' Delete Temp Log File
  902. Set objCleanup = CreateObject("Scripting.FileSystemObject")
  903. objCleanup.DeleteFile(strCPUFile)
  904.  
  905. ' Notify User
  906. WScript.Echo "Process Completed (" & Now & ")"
  907.  
  908. ' End Of File
  909. objOutputFile.Close
  910. Set objFileSystem = Nothing
  911. WScript.Quit(0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement