저는 비교적 경험이없는 코더이며 VBScript를 통해 원격으로 물리적 디스크 일련 번호를 얻는 문제에 직면 해 있습니다.디스크 용 원격 WMI 호출 일련 번호
현재 Scripting Guys가 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의 문제인 것에 대해 읽었습니다. 사용중인 OS로 인해 여기에 문제가 있어서는 안됩니다. 누구가 잘못되었을 지 알고 있습니까?
후속 질문으로, 누구나 2000 스테이션에서 일련 번호를 얻는 방법을 알고 있습니까?
도움을 주시면 미리 감사드립니다.
그래서 무엇이 문제입니까? –
질문은 어떻게하면 하드 드라이브의 일련 번호를 원격으로 얻을 수 있습니까? objItem.SerialNumber는 작동해야하지만 작동하지 않아야합니다. 거기에 접근하기 위해 저에게해야 할 일이 있습니까, 아니면 제가 할 수있는 다른 방법이 있습니까? – Insomnia
아, 죄송합니다. 방금 네가 의미하는 바를 깨달았다. 반환되는 데이터가 없습니다. 내가 보는 출력은 표시된 것과 정확히 동일합니다. 태그를 벗어나는 데이터가 제대로 반환되지 않습니다. 명확하게 OP를 수정했습니다. – Insomnia