예제 #1
0
 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;
         }
     }
 }
예제 #2
0
 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;
                 }
             }
         }
     }
 }
예제 #3
0
 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);
 }