Удаленный вызов WMI для серийного номера диска - PullRequest
1 голос
/ 24 января 2012

Я относительно неопытный программист, и у меня возникла проблема с удаленным получением серийного номера физического диска через VBScript.

В настоящее время я использую скрипт по умолчанию в Scriptomatic V2,сценаристы.Я запускаю его с 2003 Server и пытаюсь получить информацию из систем Win2000 и WinXP SP2 / SP3.Я видел из пары туториалов, что класс WMI рекомендуется Win32_PhysicalMedia.

Включая полезные биты:

On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

arrComputers = Array("STN_XP","STN_2000")
  For Each strComputer In arrComputers
    WScript.Echo
    WScript.Echo "=========================================="
    WScript.Echo "Computer: " & strComputer
    WScript.Echo "=========================================="

    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMedia", "WQL", _
                                      wbemFlagReturnImmediately + wbemFlagForwardOnly)

    For Each objItem In colItems
      '(Removed a couple from the code, just showing the useful ones)
      WScript.Echo "Model: " & objItem.Model
      WScript.Echo "Name: " & objItem.Name
      WScript.Echo "SerialNumber: " & objItem.SerialNumber
      WScript.Echo "Tag: " & objItem.Tag
      WScript.Echo
      Next
    Next

Теперь вывод, который я получаю, ниже: Обратите внимание, это точный выводот запуска скрипта со всеми вызовами;никакие данные не возвращаются после значения objItem.Tag:

==========================================
Computer: STN_XP
==========================================
Capacity:
Caption:
CleanerMedia:
CreationClassName:
Description:
HotSwappable:
Manufacturer:
MediaDescription:
MediaType:
Model:
Name:
OtherIdentifyingInfo:
PartNumber:
PoweredOn:
Removable:
Replaceable:
SerialNumber:
SKU:
Status:
Tag: \\.\PHYSICALDRIVE0
Version:
WriteProtectOn:

==========================================
Computer: STN_2000
==========================================

Все компьютеры подключены к домену, я вошел в систему с учетной записью основного администратора.Используя некоторые другие библиотеки WMI, я получаю данные, и на одном конкретном компьютере до сих пор я получил серийный номер (и тэг, но ничего больше).Я читал, что это проблема для Vista, когда вы должны работать в режиме администратора.Это не должно быть проблемой здесь, из-за используемых ОС.Кто-нибудь знает, что может быть не так?

В качестве дополнительного вопроса, кто-нибудь знает, как получить серийный номер от станции 2000?

Заранее спасибо за любую помощь, которую вы можете мне дать.

1 Ответ

0 голосов
/ 25 января 2012

Закомментируйте резюме On Error Next одиночной кавычкой и опубликуйте сообщение об ошибке, которое, вероятно, возвращается.

...