그러나,. 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
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
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 의 각 옵션값을 알고 있으면 쉽게 알아챌수가 있을것 입니다.
댓글 없음:
댓글 쓰기