Ejemplo n.º 1
0
 def addResultsToVector(self, resultsVector, servicesByCmd):
     '''Add Hashmap of services to resultVector
     @types: ObjectStateHolderVector, HashMap
     '''
     if self.serviceItems:
         for serviceItem in self.serviceItems:
             serviceDisplayName = serviceItem.DisplayName
             serviceCommandLine = serviceItem.PathName
             serviceDescription = None
             if SERVICE_DESCRIPTION in self.propertiesList:
                 serviceDescription = serviceItem.Description
             serviceStartupType = None
             if SERVICE_STARTUP_TYPE in self.propertiesList:
                 serviceStartupType = serviceItem.StartMode
             serviceOperatingStatus = None
             if SERVICE_OPERATING_STATUS in self.propertiesList:
                 serviceOperatingStatus = serviceItem.State
             serviceCanBePaused = None
             if SERVICE_CAN_BE_PAUSED in self.propertiesList:
                 serviceCanBePaused = serviceItem.AcceptPause
             serviceStartUser = None
             if SERVICE_START_USER in self.propertiesList:
                 serviceStartUser = serviceItem.StartName
             serviceOsh = createServiceOSH(self.hostOsh, serviceDisplayName, serviceDescription, serviceCommandLine, serviceStartupType, serviceOperatingStatus, serviceCanBePaused, serviceStartUser=serviceStartUser)
             resultsVector.add(serviceOsh)
             if serviceCommandLine:
                 servicesByCmd.put(CmdLine(serviceCommandLine.lower()), serviceOsh)
Ejemplo n.º 2
0
 def addResultsToVector(self, resultVector, servicesByCmd):
     for service in self.discoveredServices:
         serviceCommand = service.get(SERVICE_COMMAND_LINE)
         serviceName = service.get(SERVICE_DISPLAY_NAME)
         serviceStartUpType = self.startUpMap.get(service.get(SERVICE_STARTUP_TYPE))
         serviceStartUser = service.get(SERVICE_START_USER)
         serviceOsh = createServiceOSH(self.hostOsh, serviceName, service.get(SERVICE_DESCRIPTION), serviceCommand, serviceStartUpType, serviceStartUser=serviceStartUser)
         resultVector.add(serviceOsh)
         if serviceCommand:
             servicesByCmd.put(CmdLine(serviceCommand.lower()), serviceOsh)
Ejemplo n.º 3
0
def executeWmiQuery(client, OSHVResult, servicesByCmd=None, nodeOsh=None):
    containerOsh = nodeOsh or modeling.createHostOSH(client.getIpAddress())
    wmiProvider = wmiutils.getWmiProvider(client)
    queryBuilder = wmiProvider.getBuilder('Win32_Service')
    queryBuilder.addWmiObjectProperties('DisplayName', 'Description', \
                                        'PathName', 'StartMode', 'State', \
                                        'AcceptPause', 'StartName')
    wmicAgent = wmiProvider.getAgent()
    services = wmicAgent.getWmiData(queryBuilder)
    serviceOshv = ObjectStateHolderVector()
    for service in services:
        serviceOsh = modeling.createServiceOSH(containerOsh, service.DisplayName, service.Description, \
                                               service.PathName, service.StartMode, service.State, \
                                               service.AcceptPause, serviceStartUser=service.StartName)
        if service.PathName != None:
            servicesByCmd.put(CmdLine(service.PathName.lower()), serviceOsh)
        serviceOshv.add(serviceOsh)
    logger.debug('Discovered ', serviceOshv.size(), ' services')
    return serviceOshv