strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2\Security\MicrosoftVolumeEncryption") Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_EncryptableVolume",,48) Dim arEncryptionMethod arEncryptionMethod = Array("None", "AES 128 With Diffuser", "AES 256 With Diffuser", "AES 128", "AES 256") Dim arProtectionStatus arProtectionStatus = Array("Protection Off", "Protection On", "Protection Unknown") Dim arConversionStatus arConversionStatus = Array("Fully Decrypted", "Fully Encrypted", "Encryption In Progress", "Decryption In Progress", "Encryption Paused", "Decryption Paused") Dim arLockStatus arLockStatus = Array("Unlocked", "Locked") For Each objItem in colItems Dim EncryptionMethod Dim ProtectionStatus Dim ConversionStatus Dim EncryptionPercentage 'Percentage of the volume that is encrypted Dim VolumeKeyProtectorID Dim LockStatus objItem.GetEncryptionMethod EncryptionMethod objItem.GetProtectionStatus ProtectionStatus objItem.GetConversionStatus ConversionStatus, EncryptionPercentage objItem.GetKeyProtectors 0,VolumeKeyProtectorID objItem.GetLockStatus LockStatus WScript.Echo "DeviceID: " & objItem.DeviceID Wscript.Echo "DriveLetter: " & objItem.DriveLetter Wscript.Echo "EncryptionMethod: " & arEncryptionMethod(EncryptionMethod) Wscript.Echo "ProtectionStatus: " & arProtectionStatus(ProtectionStatus) Wscript.Echo "ConversionStatus: " & arConversionStatus(ConversionStatus) Wscript.Echo "EncryptionPercentage: " & EncryptionPercentage & "%" Wscript.Echo "LockStatus: " & arLockStatus(LockStatus) For Each objId in VolumeKeyProtectorID Dim VolumeKeyProtectorFriendlyName objItem.GetKeyProtectorFriendlyName objId, VolumeKeyProtectorFriendlyName If VolumeKeyProtectorFriendlyName <> "" Then Wscript.Echo "KeyProtectors: " & VolumeKeyProtectorFriendlyName End If Next Next
Documentation for functions, methods and properties used in this post: