Forum Discussion

scott_sams_8256's avatar
scott_sams_8256
Icon for Nimbostratus rankNimbostratus
Mar 25, 2009

iControl vbscript

anyone by chance do vbscript to toggle pool members? the powershell example worked great but we were thinking of implmenting this from a MOM 2005 server and we need vbscript. i guess it doesnt do powershell.

 

 

thanks for any help.

3 Replies

  • There is a C -> VB conversion tool here: http://www.developerfusion.com/tools/convert/csharp-to-vb/

     

     

    Not sure if it works or not, but it's a start.

     

     

    This C example (below) from this thread (Click here)

     

     

     
     public void enable_poolmember(string sHostname, string sPort, string sUsername, 
          string sPassword, string sDomain, string[] pool_name, string pool_member_ip, 
          long pool_member_port) 
     { 
         System.Net.ServicePointManager.CertificatePolicy = this; 
         updateConnectionInfo(sHostname, sPort, sUsername, sPassword, sDomain); 
         PoolMember.LocalLBPoolMemberMemberSessionState[][] ses_state =     new LocalLBPoolMemberMemberSessionState[1][]; 
         ses_state[0] = new PoolMember.LocalLBPoolMemberMemberSessionState[1]; 
         ses_state[0][0] = new PoolMember.LocalLBPoolMemberMemberSessionState(); 
         ses_state[0][0].member = new PoolMember.CommonIPPortDefinition(); 
         ses_state[0][0].member.address = pool_member_ip; 
         ses_state[0][0].member.port = pool_member_port; 
         ses_state[0][0].session_state = CommonEnabledState.STATE_ENABLED; 
         PoolMember.set_session_enabled_state(pool_name, ses_state); 
     } 
     

     

    Converts in the utility to this VB code:

     

     

     
     Public Sub enable_poolmember(ByVal sHostname As String, ByVal sPort As String, ByVal sUsername As String, ByVal sPassword As String, ByVal sDomain As String, ByVal pool_name As String(), _  
     ByVal pool_member_ip As String, ByVal pool_member_port As Long)  
         System.Net.ServicePointManager.CertificatePolicy = Me  
         updateConnectionInfo(sHostname, sPort, sUsername, sPassword, sDomain)  
         Dim ses_state As PoolMember.LocalLBPoolMemberMemberSessionState()() = New LocalLBPoolMemberMemberSessionState(0)() {}  
         ses_state(0) = New PoolMember.LocalLBPoolMemberMemberSessionState(0) {}  
         ses_state(0)(0) = New PoolMember.LocalLBPoolMemberMemberSessionState()  
         ses_state(0)(0).member = New PoolMember.CommonIPPortDefinition()  
         ses_state(0)(0).member.address = pool_member_ip  
         ses_state(0)(0).member.port = pool_member_port  
         ses_state(0)(0).session_state = CommonEnabledState.STATE_ENABLED  
         PoolMember.set_session_enabled_state(pool_name, ses_state)  
     End Sub  
     

     

     

    Untested, but should get you pointed in the right direction
  • ah, missed that part of the question. Yes, they are different. According to Joe, vbscript doesn't support 2-d arrays. Since toggling pool members via icontrol requires a 2-day array, that would rule vbscript out as a possibility.