2009/02/02

Microsoft iSCSI Initiator with WMI

Microsoft iSCSI Initiator 은 소프트웨어 기반 iSCSI Initiator 이며, 무료로 제공되고 있습니다. 대부분의 설정 Microsoft iSCSI Initiator 를 설치하거나 (Windows 2003 등) Vista, Windows Server 2008 에 내장된 GUI 에서 설정이 가능 합니다.

그러나,. Windows 관리 인터페이스인 WMI 를 이용해서 정보를 얻거나 조작이 필요한 경우가 종종 있습니다. Microsoft iSCSI Initiator 를 설치하면 다음과 같은 WMI (root\wmi)네임스페이스내에 클래스가 추가 됩니다.

MSiSCSIInitiator_Connectioninformation
MSiSCSIInitiator_DeviceOnSession
MSiSCSIInitiator_IKEPresharedKeyAuthenticationinfo
MSiSCSIInitiator_initiatorClass
MSiSCSIInitiator_iSNSServerClass
MSiSCSIInitiator_LUNList
MSiSCSIInitiator_MethodClass
MSiSCSIInitiator_PersistentDevices
MSiSCSIInitiator_PersistentLoginClass
MSiSCSIInitiator_Portal
MSiSCSIInitiator_PortalGroup
MSiSCSIInitiator_SendTargetPortalClass
MSiSCSIInitiator_SessionClass
MSiSCSIInitiator_TargetAddress
MSiSCSIInitiator_TargetClass
MSiSCSIInitiator_TargetLoginOptions
MSiSCSIInitiator_TargetMappings

(물론 위 Class 말고도 ISCSI 클래스가 더 있습니다.)

다음 예제는, 현재 Active 상태인 세션 정보를 확인해 볼수 있는 Vbscript 입니다. 물론,. 각 클래스마다 제공되는 메소드가 있는 경우에는 특정 작동도 가능 합니다.

On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\WMI")
Set colItems = objWMIService.ExecQuery("Select * from MSiSCSIInitiator_SessionClass",,48)
For Each objItem in colItems
    Wscript.Echo "Target: " & objItem.TargetName
    Wscript.Echo "SessionID: " & objItem.SessionID
    Wscript.Echo "ConnectionInformation: " & objItem.ConnectionInformation
Next

C:\>test.vbs
Target: iqn.2009-01.drbd.windata.wssplexdrbd
SessionID: ffffffff96339644-4000013700000085
ConnectionInformation: iqn.1991-05.com.microsoft:wssplex-00

각 클래스마다 제공되는 Property 및 Method 는 WMI CMI Studio 같은 툴을 이용하시면 알수가 있습니다. 물론 각 값들은 Microsoft iSCSI Initiator 의 각 옵션값을 알고 있으면 쉽게 알아챌수가 있을것 입니다.

댓글 없음:

댓글 쓰기

가장 많이 본 글