protected override void InitializeCustomFileProvider()
        {
            var wmiProvider  = WmiDataProviderFactory.CreateWmiDataProviderForFileSearching(TargetInfo);
            var fileProvider = new WindowsFileProvider(TargetInfo, wmiProvider);

            CustomFileProvider = fileProvider;
        }
 protected override void ConfigureObjectCollector()
 {
     if (ItemTypeGenerator == null)
     {
         var wmiProvider = WmiDataProviderFactory.CreateWmiDataProviderForFileSearching(TargetInfo);
         this.ObjectCollector   = new FileEffectiveRights53ObjectCollector(wmiProvider);
         this.ItemTypeGenerator =
             new FileEffectiveRights53ItemTypeGenerator(
                 new WindowsFileProvider(null, wmiProvider),
                 (FileEffectiveRights53ObjectCollector)ObjectCollector);
     }
 }
Beispiel #3
0
        private void CreateWmiDataProviderFromWmiItem(wmi_item wmiItem)
        {
            if (this.WmiDataProvider == null)
            {
                var wmiNamespace         = String.Format(@"{0}\{1}", this.TargetInfo.GetAddress(), [email protected]);
                var wmiNamespacePath     = new System.Management.ManagementPath(wmiNamespace);
                var wmiConnectionOptions = WmiDataProviderFactory.CreateConnectionOptions(this.TargetInfo);
                var wmiManagementScope   = new System.Management.ManagementScope(wmiNamespacePath, wmiConnectionOptions);
                wmiManagementScope.Connect();

                this.WmiDataProvider = new WmiDataProvider(wmiManagementScope);
            }
        }
Beispiel #4
0
        private WmiDataProvider GetWmiDataProvider(string @namespace)
        {
            if (this.WmiDataProvider != null)
            {
                return(this.WmiDataProvider);
            }

            var wmiNamespace         = String.Format(@"\\{0}\{1}", this.TargetInfo.GetAddress(), @namespace);
            var wmiNamespacePath     = new System.Management.ManagementPath(wmiNamespace);
            var wmiConnectionOptions = WmiDataProviderFactory.CreateConnectionOptions(this.TargetInfo);
            var wmiManagementScope   = new System.Management.ManagementScope(wmiNamespacePath, wmiConnectionOptions);

            wmiManagementScope.Connect();

            return(new WmiDataProvider(wmiManagementScope));
        }
Beispiel #5
0
        /// <summary>
        /// It tries to establish a connection to Windows system through WMI
        /// </summary>
        /// <param name="targetIpOrHostname">The IP or hostname of target system.</param>
        /// <param name="username">A user with administrative privileges.</param>
        /// <param name="password">User password.</param>
        /// <returns>True if the connection was established, otherwise False</returns>
        public virtual Boolean IsTargetWindowsSystem(string targetAddress, string username, string password)
        {
            var @namespace        = String.Format(@"\\{0}\root\cimv2", targetAddress);
            var connectionOptions = WmiDataProviderFactory.CreateConnectionOptions(username, password);
            var connectionScope   = new ManagementScope(@namespace, connectionOptions);

            try
            {
                connectionScope.Connect();
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Beispiel #6
0
        protected override void ConfigureObjectCollector()
        {
            if (base.ObjectCollector == null)
            {
                var connectionScope    = ((FileConnectionProvider)FileConnectionProvider).ConnectionScope;
                var newWmiDataProvider = new WmiDataProvider(connectionScope);
                var newFileProvider    = new WindowsFileProvider(TargetInfo)
                {
                    WmiDataProvider = newWmiDataProvider
                };

                ObjectCollector = new TextFileContentObjectCollector()
                {
                    FileContentProvider = newFileProvider, TargetInfo = TargetInfo
                };
                FileDataSource = new FileObjectCollector()
                {
                    WmiDataProvider = newWmiDataProvider
                };
            }

            if (base.ItemTypeGenerator == null)
            {
                var newFileProvider =
                    new WindowsFileProvider(this.TargetInfo)
                {
                    WmiDataProvider =
                        WmiDataProviderFactory
                        .CreateWmiDataProviderForFileSearching(this.TargetInfo)
                };

                var newOperationEvaluator =
                    new TextFileContentEntityOperationEvaluator(ObjectCollector, newFileProvider, FamilyEnumeration.windows);

                ItemTypeGenerator = new TextFileContentItemTypeGenerator()
                {
                    OperationEvaluator = newOperationEvaluator
                };
            }
        }
        public void CollectItemsTest()
        {
            var targetInfo      = new TargetInfoFactory("10.1.0.176", "", "oval", "M0dul0-0v4l").Create();
            var wmiProvider     = WmiDataProviderFactory.CreateWmiDataProviderForFileSearching(targetInfo);
            var objectCollector = new FileEffectiveRights53ObjectCollector(wmiProvider);


            var start          = DateTime.UtcNow;
            var collectedItems = objectCollector.CollectItems("c:\\windows\\win.ini", ".*", OperationEnumeration.patternmatch);
            var end            = DateTime.UtcNow;
            var time           = end.Subtract(start).Seconds;

            var start1          = DateTime.UtcNow;
            var collectedItems1 = objectCollector.CollectItems("c:\\windows\\tsoc.log", ".*", OperationEnumeration.patternmatch);
            var end1            = DateTime.UtcNow;
            var time1           = end1.Subtract(start1).Seconds;

            var start2          = DateTime.UtcNow;
            var collectedItems2 = objectCollector.CollectItems("c:\\windows\\control.ini", ".*", OperationEnumeration.patternmatch);
            var end2            = DateTime.UtcNow;
            var time2           = end2.Subtract(start2).Seconds;

            Assert.Fail("{0} {1} {2}", time.ToString(), time1.ToString(), time2.ToString());
        }