Пример #1
0
        /// <summary>
        /// Initializes <see cref="GraphSession"/>. with Output via Cmdlet methods
        /// </summary>
        /// <param name="cmdLet"></param>
        internal static void InitializeOutput(CustomAsyncCommandRuntime cmdLet)
        {
            var outputWriter = new PsGraphOutputWriter
            {
                WriteDebug       = cmdLet.WriteDebug,
                WriteInformation = (o, strings) =>
                {
                    cmdLet.WriteInformation(new InformationRecord(o, strings));
                },
                WriteObject  = cmdLet.WriteObject,
                WriteVerbose = cmdLet.WriteVerbose,
                WriteError   = (exception, errorId, errorCategory, targetObject) =>
                {
                    var parseResult = Enum.TryParse(errorCategory.ToString(), out ErrorCategory result);
                    if (!parseResult)
                    {
                        result = ErrorCategory.NotSpecified;
                    }
                    var errorRecord = new ErrorRecord(exception, errorId, result, targetObject);
                    cmdLet.WriteError(errorRecord);
                }
            };

            InitializeOutput(outputWriter);
        }