コード例 #1
0
ファイル: Collect.cs プロジェクト: Djohnstn/cSharp
 private void EachPowerShellSection(ref int collections, string server, ref long fileMilliSeconds, string filename, IniFile.IniFile ini)
 {
     foreach (var section in ini.GetSection("*"))
     {
         if (section.Equals("cimcollect"))
         {
             continue;                               // ignore sample section
         }
         collections++;
         var iniCollect = ini.GetValue(section, "cimcollect", "yes");
         if ("0fn".ToLower().Contains((iniCollect + "Y").Substring(0, 1).ToLower()))
         {
             continue;
         }
         var iniName = ini.GetValue(section, "name", "name");
         var s       = ini.GetAllValues(section, "s");
         var ps      = ini.GetAllValues(section, "powershell");
         var query   = ((null == ps) ? "" : String.Join(" ", ps))
                       + ((null == s) ? "" : String.Join(Environment.NewLine, s));
         bool result = false;
         if (!String.IsNullOrWhiteSpace(query))
         {
             result = RunPowerShellQuery(server, ref fileMilliSeconds, filename, section, iniName, query);
         }
     }
 }
コード例 #2
0
ファイル: FileRunner.cs プロジェクト: Djohnstn/cSharp
        // part 1 - save all file sections for processing all at once into List<FileSetup>() FileSetupList;
        public static void EachFileSection(ref int collections, string server,
                                           string filename,
                                           IniFile.IniFile ini)
        {
            Server = server;
            var iniFileName = ini.TheFile;

            foreach (var section in ini.GetSection("*", "File"))
            {
                if (section.Equals("cimcollect"))
                {
                    continue;                               // ignore sample section
                }
                collections++;
                var iniCollect = ini.GetValue(section, "cimcollect", "yes");
                if ("0fn".ToLower().Contains((iniCollect + "Y").Substring(0, 1).ToLower()))
                {
                    continue;
                }
                var fileToCopyName = ini.GetValue(section, "File");
                if (!String.IsNullOrWhiteSpace(fileToCopyName))
                {
                    var trimword = ini.GetValue(section, "Trim", "None").ToLower();
                    var trimval  = trimword.StartsWith("a") ? FileSetup.LineTrimming.All :
                                   trimword.StartsWith("e") ? FileSetup.LineTrimming.Edge :
                                   FileSetup.LineTrimming.None;
                    FileSetupList.Add(new FileSetup()
                    {
                        IniFileName = iniFileName,
                        SectionName = section,
                        CommentMark = ini.GetValue(section, "Comment", ""),
                        FileMissing = ini.GetValue(section, "Missing", "***no file***"),
                        FilePath    = fileToCopyName, // ini.GetValue(section, "File",""),
                        TrimOptions = trimval
                    });
                }
            }
        }
コード例 #3
0
ファイル: Collect.cs プロジェクト: Djohnstn/cSharp
        public void AllConfig()
        {
            int  files             = 0;
            int  collections       = 0;
            var  server            = Environment.MachineName;
            long fileMilliSeconds  = 0;
            long totalMilliSeconds = 0;


            foreach (var filename
                     in Directory.EnumerateFiles(".",
                                                 "CIMCollect-*.txt",
                                                 SearchOption.AllDirectories))
            {
                files++;
                fileMilliSeconds = 0;
                var ini = new IniFile.IniFile(filename);
                // check signature on this file, set to NO if you do not want to run the file
                var iniCheck = ini.GetValue("cimcollect", "cimcollect", "NO");
                if (iniCheck.Equals("NO"))
                {
                    continue;
                }
                // if value starts with 0 or NO or No or False or Nyet or Nien, bail out of this file
                if ("0fn".ToLower().Contains((iniCheck + "N").Substring(0, 1).ToLower()))
                {
                    continue;
                }
                //FileRunner.EachFileSection(ref collections, server, ref fileMilliSeconds, filename, ini);
                FileRunner.EachFileSection(ref collections, server, filename, ini);
                EachPowerShellSection(ref collections, server, ref fileMilliSeconds, filename, ini);

                Console.WriteLine($"{Utilities.LogTime()} Processed file {filename}, {collections} collections in {fileMilliSeconds}ms.");
                totalMilliSeconds += fileMilliSeconds;
                fileMilliSeconds   = 0;
            }
            FileRunner.FinishFileSaver(SaveToFolder);
            Console.WriteLine($"{Utilities.LogTime()} Processed {files} files, {collections} collections in {totalMilliSeconds}ms.");
            //Utilities.SemiPause("Press any key to exit.", 30);
        }