Ejemplo n.º 1
0
        public override void WriteConsole(ConsoleOutputStyle style)
        {
            ConsoleOutputStyle = style;

            WriteConsoleHeader(false);

            WriteConsoleEntry("Manufacturer ID", ManufacturerId.ToString());
            WriteConsoleEntry("Manufacturer Name", ManufacturerName);
            WriteConsoleEntry("Manufacturer Model", ManufacturerModel.ToString());

            WriteConsoleEntry("Specification version", SpecificationVersion);
            WriteConsoleEntry("Specification level", SpecificationLevel.ToString());
            WriteConsoleEntry("Specification revision", SpecificationRevision.ToString());
            WriteConsoleEntry("Specification date", SpecificationDate.ToString("d"));

            WriteConsoleEntry("Platform-specific family", PlatformSpecificFamily);
            WriteConsoleEntry("Platform specification level", PlatformSpecificationLevel.ToString());
            WriteConsoleEntry("Platform specification revision", PlatformSpecificationRevision.ToString());
            WriteConsoleEntry("Platform specification date", PlatformSpecificationDate.ToString("d"));

            WriteConsoleEntry("Firmware version", FirmwareVersion.ToString());
            WriteConsoleEntry("Physical presence version", PhysicalPresenceVersion);

            WriteConsoleEntry("Memory management", MemoryManagement);
            WriteConsoleEntry("Supported modes", SupportedModes);

            WriteConsoleEntry("Permanent attributes", PermanentAttributes);
            WriteConsoleEntry("Startup attributes", StartupAttributes);
        }
        public override void WriteConsole(ConsoleOutputStyle style)
        {
            ConsoleOutputStyle = style;

            WriteConsoleHeader(true);
            WriteConsoleFlags(SystemInfo, _metadata);
        }
Ejemplo n.º 3
0
        public override void WriteConsole(ConsoleOutputStyle style)
        {
            ConsoleOutputStyle = style;

            WriteConsoleHeader(true);
            WriteConsoleFlags(SystemInfo, _metadata, FlagsIgnored);
            WriteConsoleEntry("InvalidPteBit", _metadata);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Write line into console
 /// </summary>
 /// <param name="line">Line</param>
 /// <param name="style">Style</param>
 public void WriteLine(string line, ConsoleOutputStyle style = ConsoleOutputStyle.Output)
 {
     lock (_lockObject)
     {
         ApplyStyle(style);
         Console.WriteLine(line);
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Write output into console
 /// </summary>
 /// <param name="output">Output</param>
 /// <param name="style">Style</param>
 public void Write(string output, ConsoleOutputStyle style = ConsoleOutputStyle.Output)
 {
     lock (_lockObject)
     {
         ApplyStyle(style);
         Console.Write(output);
     }
 }
Ejemplo n.º 6
0
        public override void WriteConsole(ConsoleOutputStyle style)
        {
            ConsoleOutputStyle = style;

            WriteConsoleHeader(false);
            foreach (var field in SystemInfo.GetType().GetFields())
            {
                WriteConsoleEntry(field.Name, (bool)field.GetValue(SystemInfo));
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Apply style
        /// </summary>
        /// <param name="style">Style</param>
        void ApplyStyle(ConsoleOutputStyle style)
        {
            switch (style)
            {
            case ConsoleOutputStyle.Output:
            {
                if (Console.ForegroundColor != ConsoleColor.White)
                {
                    Console.ForegroundColor = ConsoleColor.White;
                }

                break;
            }

            case ConsoleOutputStyle.Prompt:
            {
                if (Console.ForegroundColor != ConsoleColor.DarkGreen)
                {
                    Console.ForegroundColor = ConsoleColor.DarkGreen;
                }

                break;
            }

            case ConsoleOutputStyle.Input:
            {
                if (Console.ForegroundColor != ConsoleColor.Green)
                {
                    Console.ForegroundColor = ConsoleColor.Green;
                }

                break;
            }

            case ConsoleOutputStyle.Error:
            {
                if (Console.ForegroundColor != ConsoleColor.Red)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                }

                break;
            }

            case ConsoleOutputStyle.Information:
            {
                if (Console.ForegroundColor != ConsoleColor.Yellow)
                {
                    Console.ForegroundColor = ConsoleColor.Yellow;
                }

                break;
            }
            }
        }
Ejemplo n.º 8
0
        public override void WriteConsole(ConsoleOutputStyle style)
        {
            ConsoleOutputStyle = style;

            WriteConsoleHeader(false);
            WriteConsoleEntry("Hostname", Hostname);
            WriteConsoleEntry("OS name", OsName);
            WriteConsoleEntry("OS version", OsVersion);
            WriteConsoleEntry("Processor name", CpuName);
            WriteConsoleEntry("Processor model", CpuModel);
            WriteConsoleEntry("Firmware type", FwType);
            WriteConsoleEntry("Hypervisor present", HvPresent);
        }
Ejemplo n.º 9
0
        public override void WriteConsole(ConsoleOutputStyle style)
        {
            ConsoleOutputStyle = style;

            WriteConsoleHeader(false);
            WriteConsoleEntry("VBS status", VbsStatus);
            WriteConsoleEntry("Security properties required",
                              VbsPropsRequired.Count != 0 ? VbsPropsRequired : NoneList);
            WriteConsoleEntry("Security properties available",
                              VbsPropsAvailable.Count != 0 ? VbsPropsAvailable : NoneList);
            WriteConsoleEntry("Security properties unavailable",
                              VbsPropsUnavailable.Count != 0 ? VbsPropsUnavailable : NoneList);
            WriteConsoleEntry("Security services configured",
                              VbsServicesConfigured.Count != 0 ? VbsServicesConfigured : NoneList);
            WriteConsoleEntry("Security services running",
                              VbsServicesRunning.Count != 0 ? VbsServicesRunning : NoneList);
            WriteConsoleEntry("Security services not configured",
                              VbsServicesNotConfigured.Count != 0 ? VbsServicesNotConfigured : NoneList);
            WriteConsoleEntry("KMCI status", KmciStatus);
            WriteConsoleEntry("UMCI status", UmciStatus);
        }
Ejemplo n.º 10
0
 /// <summary>
 ///     Write the collector results to the console.
 /// </summary>
 /// <param name="style">The <see cref="ConsoleOutputStyle" /> to use for the output.</param>
 public abstract void WriteConsole(ConsoleOutputStyle style);
Ejemplo n.º 11
0
        /// <summary>
        /// Write object
        /// </summary>
        /// <param name="obj">Object</param>
        /// <param name="output">Output</param>
        /// <param name="style">Style</param>
        public void WriteObject(object obj, PromptOutputStyle output, ConsoleOutputStyle style = ConsoleOutputStyle.Output)
        {
            if (obj == null)
            {
                WriteLine("NULL", ConsoleOutputStyle.DarkRed);
                return;
            }

            switch (output)
            {
            case PromptOutputStyle.json:
            {
                var settings = new JsonSerializerSettings()
                {
                };

                settings.Converters.Add(new StringEnumConverter());

                using (TextReader tx = new StringReader(obj is JObject ? obj.ToString() : JsonConvert.SerializeObject(obj, settings)))
                    using (JsonTextReader reader = new JsonTextReader(tx))
                    {
                        var indent = "";
                        var last   = JsonToken.None;

                        while (reader.Read())
                        {
                            var first = last == JsonToken.None;

                            switch (reader.TokenType)
                            {
                            case JsonToken.StartArray:
                            {
                                var app = first ? indent : Environment.NewLine + indent;

                                Write(app + "[", ConsoleOutputStyle.DarkGray);
                                indent += " ";
                                break;
                            }

                            case JsonToken.StartConstructor:
                            case JsonToken.StartObject:
                            {
                                var app = first ? indent : Environment.NewLine + indent;

                                Write(app + "{", ConsoleOutputStyle.DarkGray);
                                indent += " ";
                                break;
                            }

                            case JsonToken.EndArray:
                            {
                                indent = indent.Remove(indent.Length - 1, 1);

                                if (last == JsonToken.StartArray)
                                {
                                    Write(" ]", ConsoleOutputStyle.DarkGray);
                                }
                                else
                                {
                                    var app = first ? indent : Environment.NewLine + indent;

                                    Write(app + "]", ConsoleOutputStyle.DarkGray);
                                }
                                break;
                            }

                            case JsonToken.EndConstructor:
                            case JsonToken.EndObject:
                            {
                                indent = indent.Remove(indent.Length - 1, 1);

                                if (last == JsonToken.StartConstructor || last == JsonToken.StartObject)
                                {
                                    Write(" }", ConsoleOutputStyle.DarkGray);
                                }
                                else
                                {
                                    var app = first ? indent : Environment.NewLine + indent;

                                    Write(app + "}", ConsoleOutputStyle.DarkGray);
                                }
                                break;
                            }

                            case JsonToken.PropertyName:
                            {
                                var needComma = NeedJsonComma(last);
                                var app       = first ? indent : Environment.NewLine + indent;
                                if (needComma)
                                {
                                    app = " ," + app;
                                }

                                Write(app + ScapeJsonString(reader.Value) + ":", ConsoleOutputStyle.Gray);
                                break;
                            }

                            case JsonToken.String:
                            case JsonToken.Comment:
                            case JsonToken.Date:
                            {
                                var needComma = NeedJsonComma(last);
                                var app       = first || last == JsonToken.PropertyName ? "" : Environment.NewLine + indent;
                                if (needComma)
                                {
                                    app = " ," + app;
                                }

                                Write(app + ScapeJsonString(reader.Value), ConsoleOutputStyle.White);
                                break;
                            }

                            case JsonToken.Null:
                            {
                                var needComma = NeedJsonComma(last);
                                var app       = first || last == JsonToken.PropertyName ? "" : Environment.NewLine + indent;
                                if (needComma)
                                {
                                    app = " ," + app;
                                }

                                Write(app + "NULL", ConsoleOutputStyle.DarkRed);
                                break;
                            }

                            case JsonToken.Float:
                            {
                                var needComma = NeedJsonComma(last);
                                var app       = first || last == JsonToken.PropertyName ? "" : Environment.NewLine + indent;
                                if (needComma)
                                {
                                    app = " ," + app;
                                }

                                Write(app + Convert.ToDecimal(reader.Value).ToString(DoubleFixedPoint), ConsoleOutputStyle.White);
                                break;
                            }

                            case JsonToken.Bytes:
                            {
                                var needComma = NeedJsonComma(last);
                                var app       = first || last == JsonToken.PropertyName ? "" : Environment.NewLine + indent;
                                if (needComma)
                                {
                                    app = " ," + app;
                                }

                                Write(app + ((byte[])reader.Value).ToHexString(true), ConsoleOutputStyle.White);
                                break;
                            }

                            case JsonToken.Boolean:
                            case JsonToken.Integer:
                            case JsonToken.Raw:
                            case JsonToken.Undefined:
                            {
                                var needComma = NeedJsonComma(last);
                                var app       = first || last == JsonToken.PropertyName ? "" : Environment.NewLine + indent;
                                if (needComma)
                                {
                                    app = " ," + app;
                                }

                                Write(app + ScapeJsonString(reader.Value), ConsoleOutputStyle.White);
                                break;
                            }
                            }

                            last = reader.TokenType;
                        }

                        WriteLine("", style);
                    }
                break;
            }

            case PromptOutputStyle.raw:
            {
                if (obj is byte[] data)
                {
                    WriteLine(data.ToHexString(true), style);
                }
                else
                {
                    WriteLine(BinarySerializer.Default.Serialize(obj).ToHexString(true));
                }
                break;
            }
            }
        }
Ejemplo n.º 12
0
 /// <summary>
 /// Apply style
 /// </summary>
 /// <param name="style">Style</param>
 public void ApplyStyle(ConsoleOutputStyle style) => Cache[style]?.Apply();