private static void SetSnapInLoggingInformation(PSSnapInInfo psSnapInInfo) { foreach (ExecutionPolicyScope scope in SecuritySupport.ExecutionPolicyScopePreferences) { IEnumerable <string> enumerable; ModuleCmdletBase.ModuleLoggingGroupPolicyStatus moduleLoggingInformation = ModuleCmdletBase.GetModuleLoggingInformation(scope, out enumerable); if (moduleLoggingInformation != ModuleCmdletBase.ModuleLoggingGroupPolicyStatus.Undefined) { SetSnapInLoggingInformation(psSnapInInfo, moduleLoggingInformation, enumerable); return; } } }
private static void SetSnapInLoggingInformation(PSSnapInInfo psSnapInInfo, ModuleCmdletBase.ModuleLoggingGroupPolicyStatus status, IEnumerable <string> moduleOrSnapinNames) { if (((status & ModuleCmdletBase.ModuleLoggingGroupPolicyStatus.Enabled) != ModuleCmdletBase.ModuleLoggingGroupPolicyStatus.Undefined) && (moduleOrSnapinNames != null)) { foreach (string str in moduleOrSnapinNames) { if (string.Equals(psSnapInInfo.Name, str, StringComparison.OrdinalIgnoreCase)) { psSnapInInfo.LogPipelineExecutionDetails = true; } else if (WildcardPattern.ContainsWildcardCharacters(str)) { WildcardPattern pattern = new WildcardPattern(str, WildcardOptions.IgnoreCase); if (pattern.IsMatch(psSnapInInfo.Name)) { psSnapInInfo.LogPipelineExecutionDetails = true; } } } } }
private static ModuleCmdletBase.ModuleLoggingGroupPolicyStatus GetModuleLoggingValue(string groupPolicyValue, RegistryKey key, out IEnumerable <string> moduleNames) { ModuleCmdletBase.ModuleLoggingGroupPolicyStatus undefined = ModuleCmdletBase.ModuleLoggingGroupPolicyStatus.Undefined; moduleNames = new List <string>(); if (key != null) { object obj2 = key.GetValue(groupPolicyValue); if (obj2 == null) { return(undefined); } if (string.Equals(obj2.ToString(), "0", StringComparison.OrdinalIgnoreCase)) { return(ModuleCmdletBase.ModuleLoggingGroupPolicyStatus.Disabled); } if (!string.Equals(obj2.ToString(), "1", StringComparison.OrdinalIgnoreCase)) { return(undefined); } undefined = ModuleCmdletBase.ModuleLoggingGroupPolicyStatus.Enabled; try { using (RegistryKey key2 = key.OpenSubKey("ModuleNames")) { if (key2 != null) { string[] valueNames = key2.GetValueNames(); if ((valueNames != null) && (valueNames.Length > 0)) { moduleNames = new List <string>(valueNames); } } } } catch (SecurityException) { } } return(undefined); }