Can anyone convert this VBS to VB.net?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • laserpp
    New Member
    • Nov 2012
    • 1

    Can anyone convert this VBS to VB.net?

    Know nothing about VB and started a my first IT job and was asked my my boss to convert this to .net. Any help would be greatly appreciated.


    Code:
    ' VBScript Source File 
    '
    ' NAME: LISTPROXYADDRESSES.VBS
    ' VERSION: 1.1
    ' AUTHOR: Bharat Suneja , Bharat Suneja  --> Modified By: Kevin Reed
    ' CREATE DATE  : 5/06/2004
    ' LAST MODIFIED : 5/19/2011
    '==================================================================================================
    ' COMMENT: 
    '   
    '==================================================================================================
    
    'Security
    Dim objADSysInfo : Set objADSysInfo = CreateObject("ADSystemInfo") 
    Dim objUser : Set objUser = GetObject("LDAP://" & objADSysInfo.UserName) 
    if objUser.givenname & " " & objuser.sn <> "Jonathan Salina" Then
    wscript.echo "Unauthorized User Detected!" & VbCrlf & "The Program Will Now Close"
    wscript.quit
    end if
    
    
    
    
    'Set up constant for deleting values from multivalued attribute memberOf
    
    Const ADS_PROPERTY_NOT_FOUND  = &h8000500D
    Const ADS_UF_ACCOUNTDISABLE = 2                       'For UserAccountControl
    Const strX400Search = "X400"
    '______________________________________________________
    
    'Set RootDSE
    Set objRootDSE = GetObject("LDAP://rootDSE")
    strDomain = objRootDSE.Get("defaultNamingContext")
    strADPath = "LDAP://" & strDomain
    'wscript.Echo strADPath
    Set objDomain = GetObject(strADPath)
    'wscript.echo "objDomain: " & objDomain.distinguishedName
    
    'Setup ADODB connection
    Set objConnection = CreateObject("ADODB.Connection")
    objConnection.Open "Provider=ADsDSOObject;"
    Set objCommand = CreateObject("ADODB.Command")
    objCommand.ActiveConnection = objConnection
    objCommand.Properties("Page Size") = 5000
    
    'Execute search command to look for Contacts & Groups
        objCommand.CommandText = _
          "<" & strADPath & ">" & ";(&(|(objectClass=contact)(objectClass=group))(mail=*))" & ";distinguishedName,displayName,mail,proxyAddresses;subtree"
    
        'Execute search to get Recordset
        Set objRecordSet = objCommand.Execute
        
            
            'Start procedure
            
        'strResult = strResult & VbCrLf & "Domain: " & strDomain
    'THESE ARE UNEEDED
        'strResult = strResult & VbCrlf &  "#Total Records Found (other accounts): " & objRecordSet.RecordCount & VbCrlf
        AddressCount = 0
    
    
    '*************************************
    'Begin second query for users
    varDisabledCounter = 0                  
    
    'Execute search command to look for user
        objCommand.CommandText = _
          "<" & strADPath & ">" & ";(&(objectClass=user)(mail=*))" & ";distinguishedName,displayName,mail,proxyAddresses;subtree"
    
        'Execute search to get Recordset
        Set objRecordSet = objCommand.Execute
        
        
            strResult = strResult & "Name" & "," & "Email" & VbCrLf
    
           While Not objRecordSet.EOF 'Iterate through the search results
                strUserDN = objRecordSet.Fields("distinguishedName")     'Get User's distinguished name from Recordset into a string
    	    strUserDN=Replace(strUserDN,"/","\/") 
                set objUser= GetObject("LDAP://"& strUserDN & "")         'Use string to bind to user object
                
                
                If objUser.AccountDisabled = FALSE Then                    'If User account disabled, then skip          
    
    
    
                           strResult = strResult & objUser.givenName & " " & objUser.sn & ","
                           strResult = strResult & objUser.mail
                           'arrProxyAddresses = objRecordSet.Fields("proxyAddresses")
                           'If IsArray(objRecordSet.Fields("proxyAddresses")) Then
                           'strResult = strResult & VbCrLf & "Proxy Addresses" 
                              
                              'For Each ProxyAddress in arrProxyAddresses
                                'Sub: Check X400
                                 'If InStr(ProxyAddress, strX400Search) <> 0 Then 
                            	'	'Wscript.Echo "#This was an x400"
                        		' Else
                            	'	 strResult = strResult & VbCrlf &  proxyAddress
                                   '  AddressCount = AddressCount + 1
                                 ' End If   'Ends loop for X400 address
                             ' Next
                               '   Else
                                    '  strResult = strResult & VbCrLf &  "#Object does not have proxy addresses"
                             ' End If
                                  strResult = strResult &  VbCrLf
                    
              End If   'End check for disabled user 
                
         objRecordSet.MoveNext 
    Wend  'End second query for users
    
                  
    'strResult = "Users, Groups & Contacts" & VbCrLf & "-------------------------" & VbCrLf & strResult
    'strResult = strResult & VbCrLf & "Disabled Users" & VbCrLf & "-------------------------" & VbCrLf & strResult2
    
    'Output to a text file
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    Set objOutputFile = objFileSystem.CreateTextFile("C:\Email List.csv")
    objOutputFile.Write strResult
    
    LF=chr(10)
    WScript.Echo "Done - Please Check C:\Email List.csv to see your file."& LF & LF & "If you have any questions please contact Kevin Reed"
  • Rabbit
    Recognized Expert MVP
    • Jan 2007
    • 12517

    #2
    This is not a code writing service but if you post what you've tried along with any error messages you get, we can guide you to a solution.

    Comment

    Working...