Всем привет!
Вообще идет аудит техники по безопасности дали задание получить все устройства записи информации... Несколько подразделений. Написал скрипт по CD:
On Error Resume Next
Dim DomainName 'Имя домена
DomainName = "MyDomen"
Dim ADSI
Set ADSI = GetObject("
WinNT://" & DomainName)
ADSI.Filter = Array("computer")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set Files_W = objFSO.OpenTextFile("D:\temp\EnumCD.txt", 2, True)
For Each Comp In ADSI
Set objWMI = GetObject("winmgmts:{ImpersonationLevel=Impersonate}!\\" & Trim(Comp.Name) & "\Root\CIMV2")
Set colItems = objWMI.ExecQuery("Select * from Win32_CDROMDrive")
For Each objItem in colItems
Files_W.WriteLine "******************************************************************************"
Files_W.WriteLine "Comp. name:" & Trim(Comp.Name)
Files_W.WriteLine "Name: " & objItem.Name
strWrite = "Supports Writing: Only read"
For Each eCapabilities In objItem.Capabilities
If eCapabilities = 4 then
strWrite = "Supports Writing: Write/Read"
End If
Next
Files_W.WriteLine strWrite
Files_W.WriteLine "******************************************************************************"
Next
Next
Но не все устройства согласно характеристике в MSDN Capabilities имеют свойство Supports Writing. Хотя на самом деле являются пишущими.
Вот блин вопрос ПОЧЕМУ???
Или наверное КАК с этим бороться?
Здравствуйте, NightBlade, Вы писали:
NB>тут вопрос не совсем по VB, не так ли? скорее по WinAPI
Наверное. Но скрипт то на VBS
NB>дело в том, что пишущие CD/DVD в действительности не считаются системой таковыми. нельзя же просто так туда файл скопировать? запись на этих приводах ведется через специальные интерфейсы, типа ASPI. и система после записи не воспринимает только что записанные файлы, поэтому все писалки после записи eject делают. а когда диск вновь вставлен, система пересчитывает каталоги файлов как на новом носителе
NB>так что, надо в WMI какой-то другой признак искать
MSDN перерыл в WMI точно нет 100% гарантии на получение результата. API похоже выход. Но это уже ИМХО не на VBS писать, а VS только дома ...
Здравствуйте, <Аноним>, Вы писали:
DA>>Но не все устройства согласно характеристике в MSDN Capabilities имеют свойство Supports Writing. Хотя на самом деле являются пишущими.
DA>>Вот блин вопрос ПОЧЕМУ???
DA>>Или наверное КАК с этим бороться?
А>Я просто проверял наличие суффикса RW в свойстве Caption...
У меня там написано почему-то OLYMPUS S-DVD-1000, хотя сам рекордер NEC 6500 или 6650, я уже не помню. Ни намека ни на W, ни на DW, ни на RW
... хоть и мелочь, а много