ฉันกำลังทำงานบนเครือข่ายแล็ปท็อปกว่า 300 เครื่องและฉันต้องได้รับหมายเลขซีเรียลของผู้ผลิตฮาร์ดไดรฟ์ทั้งหมดที่เชื่อมต่อกับเครือข่ายของฉัน มีวิธีการดึงข้อมูลจากเซิร์ฟเวอร์โดยไม่ต้องแล็ปท็อปทุกเครื่องหรือไม่ ฉันใช้ Windows Server 2008
ฉันกำลังทำงานบนเครือข่ายแล็ปท็อปกว่า 300 เครื่องและฉันต้องได้รับหมายเลขซีเรียลของผู้ผลิตฮาร์ดไดรฟ์ทั้งหมดที่เชื่อมต่อกับเครือข่ายของฉัน มีวิธีการดึงข้อมูลจากเซิร์ฟเวอร์โดยไม่ต้องแล็ปท็อปทุกเครื่องหรือไม่ ฉันใช้ Windows Server 2008
คำตอบ:
คุณสามารถสอบถามอินเทอร์เฟซ WMI บนแล็ปท็อปโดยใช้คลาสWin32_DiskDriveซึ่งรวมถึงSerialNumber
คุณสมบัติ คุณสมบัตินี้อาจไม่สามารถใช้ได้กับระบบปฏิบัติการ windows รุ่นเก่า (รวมถึง Windows Server 2003) แต่ควรทำงานได้ดีเมื่อทำงานจาก Server 2008 กำหนดเป้าหมายเป็น Vista หรือแล็ปท็อปรุ่นใหม่
นี่คือข้อมูลทั่วไปเกี่ยวกับการเขียนสคริปต์ WMIสำหรับการรวบรวมข้อมูลฮาร์ดดิสก์
เคล็ดลับบางอย่าง:
มีเอาต์พุตสคริปต์ของคุณเป็นไฟล์แทนที่จะเป็นหน้าจอเพื่อให้คุณสามารถทำให้เป็นอัตโนมัติและเพื่อให้คุณสามารถรวมผลลัพธ์
เรียกใช้สคริปต์ของคุณเป็นงานที่กำหนดเวลาไว้เพื่อไม่ให้หยุดทำงานเมื่อเดสก์ท็อปหยุดทำงาน จะใช้เวลาพอสมควรในการสำรวจความคิดเห็น 300 อุปกรณ์
นี่คือสคริปต์ตัวอย่าง (ไม่ได้ทดสอบ):
ComputerName = "."
Set wmiServices = GetObject ( _
"winmgmts:{impersonationLevel=Impersonate}!//" _
& ComputerName)
' Get physical disk drive
Set wmiDisks = wmiServices.ExecQuery ( _
"SELECT * FROM Win32_DiskDrive")
For Each wmiDisk in wmiDisks
WScript.Echo wmiDisk.SerialNumber
Next