internal static PSSnapInInfo Read(string psVersion, string mshsnapinId) { using (PSSnapInReader._tracer.TraceMethod("psVersion: {0}, mshsnapinId: {1}", (object)psVersion, (object)mshsnapinId)) { if (string.IsNullOrEmpty(psVersion)) { throw PSSnapInReader._tracer.NewArgumentNullException(nameof(psVersion)); } if (string.IsNullOrEmpty(mshsnapinId)) { throw PSSnapInReader._tracer.NewArgumentNullException(nameof(mshsnapinId)); } PSSnapInInfo.VerifyPSSnapInFormatThrowIfError(mshsnapinId); return(PSSnapInReader.ReadOne(PSSnapInReader.GetMshSnapinRootKey(PSSnapInReader.GetVersionRootKey(PSSnapInReader.GetMonadRootKey(), psVersion), psVersion), mshsnapinId)); } }
internal static RegistryKey GetMshSnapinKey(string mshSnapInName, string psVersion) { using (PSSnapInReader._tracer.TraceMethod()) return((PSSnapInReader.GetVersionRootKey(PSSnapInReader.GetMonadRootKey(), psVersion).OpenSubKey("PowerShellSnapIns") ?? throw PSSnapInReader._tracer.NewArgumentException(nameof(psVersion), "MshSnapinInfo", "NoMshSnapinPresentForVersion", (object)psVersion)).OpenSubKey(mshSnapInName)); }
internal static RegistryKey GetPSEngineKey(string psVersion) { using (PSSnapInReader._tracer.TraceMethod()) return(PSSnapInReader.GetVersionRootKey(PSSnapInReader.GetMonadRootKey(), psVersion).OpenSubKey("PowerShellEngine") ?? throw PSSnapInReader._tracer.NewArgumentException("monad", "MshSnapinInfo", "MonadEngineRegistryAccessFailed")); }
private static Collection <PSSnapInInfo> ReadAll( RegistryKey monadRootKey, string psVersion) { using (PSSnapInReader._tracer.TraceMethod(psVersion, new object[0])) { Collection <PSSnapInInfo> collection = new Collection <PSSnapInInfo>(); RegistryKey mshSnapinRootKey = PSSnapInReader.GetMshSnapinRootKey(PSSnapInReader.GetVersionRootKey(monadRootKey, psVersion), psVersion); foreach (string subKeyName in mshSnapinRootKey.GetSubKeyNames()) { if (!string.IsNullOrEmpty(subKeyName)) { try { collection.Add(PSSnapInReader.ReadOne(mshSnapinRootKey, subKeyName)); } catch (SecurityException ex) { PSSnapInReader._tracer.TraceException((Exception)ex); } catch (ArgumentException ex) { PSSnapInReader._tracer.TraceException((Exception)ex); } } } return(collection); } }