protected override void ProcessRecord() { if (!IsConditionScope()) { throw new RuleRuntimeException(string.Format(PSRuleResources.KeywordConditionScope, LanguageKeywords.AnyOf)); } var invokeResult = RuleConditionResult.Create(Body.Invoke()); var result = invokeResult.AnyOf(); RunspaceContext.CurrentThread.VerboseConditionResult(condition: RuleLanguageNouns.AnyOf, pass: invokeResult.Pass, count: invokeResult.Count, outcome: result); WriteObject(result); }
protected override void ProcessRecord() { try { if (Body == null) { return; } // Evalute type pre-condition if (Type != null) { var comparer = PipelineContext.CurrentThread.Baseline.GetTargetBinding().IgnoreCase ? StringComparer.OrdinalIgnoreCase : StringComparer.Ordinal; if (!Type.Contains(value: PipelineContext.CurrentThread.RuleRecord.TargetType, comparer: comparer)) { PipelineContext.CurrentThread.Logger.DebugMessage("Target failed Type precondition"); return; } } // Evaluate script pre-condition if (If != null) { PipelineContext.CurrentThread.ExecutionScope = ExecutionScope.Precondition; var ifResult = If.InvokeReturnAsIs() as PSObject; if (ifResult == null || !(ifResult.BaseObject is bool) || !(bool)ifResult.BaseObject) { PipelineContext.CurrentThread.Logger.DebugMessage("Target failed If precondition"); return; } } // Evaluate script block PipelineContext.CurrentThread.ExecutionScope = ExecutionScope.Condition; var invokeResult = RuleConditionResult.Create(Body.Invoke()); WriteObject(invokeResult); } finally { PipelineContext.CurrentThread.ExecutionScope = ExecutionScope.None; } }
protected override void ProcessRecord() { try { if (Body == null) { return; } // Evalute type pre-condition if (!AcceptsType()) { RunspaceContext.CurrentThread.Writer.DebugMessage("Target failed Type precondition"); return; } // Evaluate script pre-condition if (If != null) { PipelineContext.CurrentThread.ExecutionScope = ExecutionScope.Precondition; var ifResult = RuleConditionResult.Create(If.Invoke()); if (!ifResult.AllOf()) { RunspaceContext.CurrentThread.Writer.DebugMessage("Target failed If precondition"); return; } } // Evaluate script block PipelineContext.CurrentThread.ExecutionScope = ExecutionScope.Condition; var invokeResult = RuleConditionResult.Create(Body.Invoke()); WriteObject(invokeResult); } finally { PipelineContext.CurrentThread.ExecutionScope = ExecutionScope.None; } }