code: def get_server_info(self, anonymous = True):
  		
  		if anonymous == True:
  			logger.debug('Getting server info via Anonymous BIND on server %s' % self.target_server.get_host())
  			server = Server(self.target_server.get_host(), use_ssl=self.target_server.is_ssl(), get_info=ALL)
  			conn = Connection(server, auto_bind=True)
  			logger.debug('Got server info')
  		else:
  			logger.debug('Getting server info via credentials supplied on server %s' % self.target_server.get_host())
  			server = Server(self.target_server.get_host(), use_ssl=self.target_server.is_ssl(), get_info=ALL)
  			if self.use_sspi == True:
  				conn = self.monkeypatch()
  			else:
  				conn = Connection(self._srv, user=self.login_credential.get_msuser(), password=self.login_credential.get_password(), authentication=self.login_credential.get_authmethod())
  			logger.debug('Performing BIND to server %s' % self.target_server.get_host())
  			if not self._con.bind():
  				if 'description' in self._con.result:
  					raise Exception('Failed to bind to server! Reason: %s' % conn.result['description'])
  				raise Exception('Failed to bind to server! Reason: %s' % conn.result)
  			logger.debug('Connected to server!')
  		return server.info
docs: Performs bind on the server and grabs the DSA info object.
  		If anonymous is set to true, then it will perform anonymous bind, not using user credentials
  		Otherwise it will use the credentials set in the object constructor.