Пример #1
0
        internal static IEnumerable <string> GetModulePath(ExecutionContext context)
        {
            List <string> stringList          = new List <string>();
            string        environmentVariable = Environment.GetEnvironmentVariable("PSMODULEPATH");

            if (environmentVariable == null)
            {
                ModuleIntrinsics.SetModulePath();
                environmentVariable = Environment.GetEnvironmentVariable("PSMODULEPATH");
            }
            if (environmentVariable.Trim().Length == 0)
            {
                return((IEnumerable <string>)stringList);
            }
            string str1 = environmentVariable;

            char[] separator = new char[1] {
                ';'
            };
            foreach (string pattern in str1.Split(separator, StringSplitOptions.RemoveEmptyEntries))
            {
                try
                {
                    ProviderInfo         provider = (ProviderInfo)null;
                    IEnumerable <string> providerPathFromPsPath = (IEnumerable <string>)context.SessionState.Path.GetResolvedProviderPathFromPSPath(WildcardPattern.Escape(pattern), out provider);
                    if (provider.NameEquals(context.ProviderNames.FileSystem))
                    {
                        foreach (string str2 in providerPathFromPsPath)
                        {
                            stringList.Add(str2);
                        }
                    }
                }
                catch (ItemNotFoundException ex)
                {
                }
            }
            return((IEnumerable <string>)stringList);
        }
Пример #2
0
 internal ModuleIntrinsics(ExecutionContext context)
 {
     this._context = context;
     ModuleIntrinsics.SetModulePath();
 }