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)
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)
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