home *** CD-ROM | disk | FTP | other *** search
- 'Extended Drive Attributes VBScript
- 'Version 1.5
- 'Created 4th June 2002
- 'Last Modified 19th March 2003
- 'Copyright 2003, Rowan Gillson
- 'Not redistributable without express permission from author.
- 'Suitable for Windows 2000/Windows XP only.
- '
- '
- 'comments to r_gillson@hotmail.com
- '
-
- On Error Resume Next
-
- Dim oFileSys, Drive, sDriveType, ComputerName, DriveIndex
-
- '----------------------------------------------
- 'WMI Class Enumerator
- '----------------------------------------------
- Private Sub GetWMI(ComputerName, WMIArray, WMIQuery, WMIExtension)
-
- Set WMIClass = GetObject("winmgmts:" _
- & "{impersonationLevel=impersonate}!\\" & ComputerName & "\root\cimv2")
- Set WMIArray = WMIClass.ExecQuery(WMIQuery & WMIExtension)
-
- End Sub
-
- '----------------------------------------------
-
- '----------------------------------------------
- 'Displays fixed disk model
- Function DriveName(ComputerName, DriveIndex)
-
- Call GetWMI(ComputerName, DiskInfoSet, "Select * from Win32_DiskDrive where Index = ", DriveIndex)
-
- For Each objDiskInfo in DiskInfoSet
- DriveName = objDiskInfo.Model
- Next
-
- End Function
-
- '----------------------------------------------
- 'Displays SCSI Bus ID
- Function SCSIBusID(ComputerName, DriveIndex)
-
- Call GetWMI(ComputerName, DiskInfoSet, "Select * from Win32_DiskDrive where Index = ", DriveIndex)
-
- For Each objDiskInfo in DiskInfoSet
- SCSIBusID = objDiskInfo.SCSIBus
- Next
-
- End Function
-
- '----------------------------------------------
- 'Displays SCSI Logical Unit Number (LUN)
- Function SCSILunID(ComputerName, DriveIndex)
-
- Call GetWMI(ComputerName, DiskInfoSet, "Select * from Win32_DiskDrive where Index = ", DriveIndex)
-
- For Each objDiskInfo in DiskInfoSet
- SCSILunID = objDiskInfo.SCSILogicalUnit
- Next
-
- End Function
-
- '----------------------------------------------
- 'Displays SCSI Port Number
- Function SCSIPortID(ComputerName, DriveIndex)
-
- Call GetWMI(ComputerName, DiskInfoSet, "Select * from Win32_DiskDrive where Index = ", DriveIndex)
-
- For Each objDiskInfo in DiskInfoSet
- SCSIPortID = objDiskInfo.SCSILogicalUnit
- Next
-
- End Function
-
- '----------------------------------------------
- 'Displays SCSI Target Id
- Function SCSITargetID(ComputerName, DriveIndex)
-
- Call GetWMI(ComputerName, DiskInfoSet, "Select * from Win32_DiskDrive where Index = ", DriveIndex)
-
- For each objDiskInfo in DiskInfoSet
- SCSITargetID = objDiskInfo.SCSITargetId
- Next
-
- End Function
-
- '----------------------------------------------
-
-
- '----------------------------------------------
- 'Displays individual drive volume name
- Function VolumeName(DriveLetter)
-
- Set oFileSys = CreateObject("Scripting.FileSystemObject")
- Set Drive = oFileSys.GetDrive(Driveletter)
-
- If Drive.IsReady = True Then
- VolumeName = Drive.VolumeName
- Else
- VolumeName = "Not Ready"
- End If
-
- End Function
-
- '----------------------------------------------
- 'Displays individual volume type
- Function DriveType(DriveLetter)
-
- Set oFileSys = CreateObject("Scripting.FileSystemObject")
- Set Drive = oFileSys.GetDrive(Driveletter)
-
- Select Case Drive.DriveType
- Case 0: sDriveType = "Unknown"
- Case 1: sDriveType = "Removable"
- Case 2: sDriveType = "Fixed"
- Case 3: sDriveType = "Network"
- Case 4: sDriveType = "CD-ROM"
- Case 5: sDriveType = "RAM Disk"
- End Select
- DriveType = sDriveType
-
- End Function
-
- '----------------------------------------------
- 'Displays individual partition filesystem type
- Function FileSysType(DriveLetter)
-
- Set oFileSys = CreateObject("Scripting.FileSystemObject")
- Set Drive = oFileSys.GetDrive(Driveletter)
-
- If Drive.IsReady = True Then
- FileSysType = Drive.FileSystem
- Else
- FileSysType = "Not Ready"
- End If
-
- End Function
-
-