/// <exception cref="PSSnapInException"> /// One or more default mshsnapins cannot be loaded because the /// registry is not populated correctly. /// </exception> /// <exception cref="PSArgumentNullException"> /// fileName is null. /// </exception> /// <exception cref="PSArgumentException"> /// fileName does not specify proper file extension. /// </exception> /// <exception cref="XmlException"> /// Unable to load/parse the file specified by fileName. /// </exception> internal new static RunspaceConfigForSingleShell Create(string consoleFile, out PSConsoleLoadException warning) { PSConsoleLoadException warning1 = null; s_mshsnapinTracer.WriteLine("Creating MshConsoleInfo. consoleFile={0}", consoleFile); MshConsoleInfo consoleInfo = MshConsoleInfo.CreateFromConsoleFile(consoleFile, out warning1); if (warning1 != null) { s_mshsnapinTracer.TraceWarning("There was a warning while creating MshConsoleInfo: {0}", warning1.Message); } // At this time, consoleInfo should not be null. // Otherwise, an exception should have been thrown up. if (consoleInfo != null) { RunspaceConfigForSingleShell rspcfg = new RunspaceConfigForSingleShell(consoleInfo); PSConsoleLoadException warning2 = null; rspcfg.LoadConsole(out warning2); if (warning2 != null) { s_mshsnapinTracer.TraceWarning("There was a warning while loading console: {0}", warning2.Message); } warning = CombinePSConsoleLoadException(warning1, warning2); return(rspcfg); } warning = null; return(null); }
internal static void WriteToFile(MshConsoleInfo consoleInfo, string path) { using (PSConsoleFileElement.tracer.TraceMethod()) { PSConsoleFileElement._mshsnapinTracer.WriteLine("Saving console info to file {0}.", (object)path); using (XmlWriter xmlWriter = XmlWriter.Create(path, new XmlWriterSettings() { Indent = true, Encoding = Encoding.UTF8 })) { xmlWriter.WriteStartDocument(); xmlWriter.WriteStartElement("PSConsoleFile"); xmlWriter.WriteAttributeString("ConsoleSchemaVersion", "1.0"); xmlWriter.WriteStartElement("PSVersion"); xmlWriter.WriteString(consoleInfo.PSVersion.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("PSSnapIns"); foreach (PSSnapInInfo externalPsSnapIn in consoleInfo.ExternalPSSnapIns) { xmlWriter.WriteStartElement("PSSnapIn"); xmlWriter.WriteAttributeString("Name", externalPsSnapIn.Name); xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); xmlWriter.Close(); } PSConsoleFileElement._mshsnapinTracer.WriteLine("Saving console info succeeded.", new object[0]); } }
/// <exception cref="PSSnapInException"> /// One or more default mshsnapins cannot be loaded because the /// registry is not populated correctly. /// </exception> internal static RunspaceConfigForSingleShell CreateDefaultConfiguration() { s_mshsnapinTracer.WriteLine("Creating default runspace configuration."); MshConsoleInfo consoleInfo = MshConsoleInfo.CreateDefaultConfiguration(); // This should not happen. If there is a failure in creating consoleInfo, // an exception should have been thrown up. if (consoleInfo != null) { RunspaceConfigForSingleShell rspcfg = new RunspaceConfigForSingleShell(consoleInfo); PSConsoleLoadException warning = null; rspcfg.LoadConsole(out warning); if (warning != null) { s_mshsnapinTracer.TraceWarning("There was a warning while loading console: {0}", warning.Message); } return(rspcfg); } s_mshsnapinTracer.WriteLine("Default runspace configuration created."); return(null); }
internal static RunspaceConfigForSingleShell Create( string consoleFile, out PSConsoleLoadException warning) { using (RunspaceConfigForSingleShell.tracer.TraceMethod()) { PSConsoleLoadException cle = (PSConsoleLoadException)null; RunspaceConfigForSingleShell._mshsnapinTracer.WriteLine("Creating MshConsoleInfo. consoleFile={0}", (object)consoleFile); MshConsoleInfo fromConsoleFile = MshConsoleInfo.CreateFromConsoleFile(consoleFile, out cle); if (cle != null) { RunspaceConfigForSingleShell._mshsnapinTracer.TraceWarning("There was a warning while creating MshConsoleInfo: {0}", (object)cle.Message); } if (fromConsoleFile != null) { RunspaceConfigForSingleShell configForSingleShell = new RunspaceConfigForSingleShell(fromConsoleFile); PSConsoleLoadException warning1 = (PSConsoleLoadException)null; configForSingleShell.LoadConsole(out warning1); if (warning1 != null) { RunspaceConfigForSingleShell._mshsnapinTracer.TraceWarning("There was a warning while loading console: {0}", (object)warning1.Message); } warning = RunspaceConfigForSingleShell.CombinePSConsoleLoadException(cle, warning1); return(configForSingleShell); } warning = (PSConsoleLoadException)null; return((RunspaceConfigForSingleShell)null); } }
/// <summary> /// Constructs a <see cref="System.Management.Automation.Runspaces.MshConsoleInfo"/> object for the /// current Monad version which is already started. /// </summary> /// <exception cref="PSSnapInException"> /// One or more default mshsnapins cannot be loaded because the /// registry is not populated correctly. /// </exception> internal static MshConsoleInfo CreateDefaultConfiguration() { // Steps: // 1. Get the current Monad Version // 2. Create MshConsoleInfo object. // 3. Read default mshsnapins. MshConsoleInfo consoleInfo = new MshConsoleInfo(PSVersionInfo.PSVersion); try { consoleInfo._defaultPSSnapIns = PSSnapInReader.ReadEnginePSSnapIns(); } catch (PSArgumentException ae) { string message = ConsoleInfoErrorStrings.CannotLoadDefaults; // If we were unable to load default mshsnapins throw PSSnapInException s_mshsnapinTracer.TraceError(message); throw new PSSnapInException(message, ae); } catch (System.Security.SecurityException se) { string message = ConsoleInfoErrorStrings.CannotLoadDefaults; // If we were unable to load default mshsnapins throw PSSnapInException s_mshsnapinTracer.TraceError(message); throw new PSSnapInException(message, se); } return(consoleInfo); }
internal static RunspaceConfigForSingleShell Create(string consoleFile, out PSConsoleLoadException warning) { PSConsoleLoadException cle = null; _mshsnapinTracer.WriteLine("Creating MshConsoleInfo. consoleFile={0}", new object[] { consoleFile }); MshConsoleInfo consoleInfo = MshConsoleInfo.CreateFromConsoleFile(consoleFile, out cle); if (cle != null) { _mshsnapinTracer.TraceWarning("There was a warning while creating MshConsoleInfo: {0}", new object[] { cle.Message }); } if (consoleInfo != null) { RunspaceConfigForSingleShell shell = new RunspaceConfigForSingleShell(consoleInfo); PSConsoleLoadException exception2 = null; shell.LoadConsole(out exception2); if (exception2 != null) { _mshsnapinTracer.TraceWarning("There was a warning while loading console: {0}", new object[] { exception2.Message }); } warning = CombinePSConsoleLoadException(cle, exception2); return(shell); } warning = null; return(null); }
internal static MshConsoleInfo CreateFromConsoleFile(string fileName, out PSConsoleLoadException cle) { _mshsnapinTracer.WriteLine("Creating console info from file {0}", new object[] { fileName }); MshConsoleInfo info = CreateDefaultConfiguration(); string fullPath = Path.GetFullPath(fileName); info.fileName = fullPath; info.Load(fullPath, out cle); _mshsnapinTracer.WriteLine("Console info created successfully", new object[0]); return(info); }
/// <summary> /// Initiate an instance of PSConsoleLoadException. /// </summary> /// <param name="consoleInfo">Console info object for the exception</param> /// <param name="exceptions">A collection of PSSnapInExceptions.</param> internal PSConsoleLoadException(MshConsoleInfo consoleInfo, Collection<PSSnapInException> exceptions) : base() { if (!String.IsNullOrEmpty(consoleInfo.Filename)) _consoleFileName = consoleInfo.Filename; if (exceptions != null) { _PSSnapInExceptions = exceptions; } CreateErrorRecord(); }
internal PSConsoleLoadException(MshConsoleInfo consoleInfo, Collection<PSSnapInException> exceptions) { this._consoleFileName = ""; this._PSSnapInExceptions = new Collection<PSSnapInException>(); if (!string.IsNullOrEmpty(consoleInfo.Filename)) { this._consoleFileName = consoleInfo.Filename; } if (exceptions != null) { this._PSSnapInExceptions = exceptions; } this.CreateErrorRecord(); }
internal PSConsoleLoadException(MshConsoleInfo consoleInfo, Collection <PSSnapInException> exceptions) { this._consoleFileName = ""; this._PSSnapInExceptions = new Collection <PSSnapInException>(); if (!string.IsNullOrEmpty(consoleInfo.Filename)) { this._consoleFileName = consoleInfo.Filename; } if (exceptions != null) { this._PSSnapInExceptions = exceptions; } this.CreateErrorRecord(); }
/// <summary> /// Initiate an instance of PSConsoleLoadException. /// </summary> /// <param name="consoleInfo">Console info object for the exception</param> /// <param name="exceptions">A collection of PSSnapInExceptions.</param> internal PSConsoleLoadException(MshConsoleInfo consoleInfo, Collection <PSSnapInException> exceptions) : base() { if (!String.IsNullOrEmpty(consoleInfo.Filename)) { _consoleFileName = consoleInfo.Filename; } if (exceptions != null) { _PSSnapInExceptions = exceptions; } CreateErrorRecord(); }
internal static MshConsoleInfo CreateFromConsoleFile( string fileName, out PSConsoleLoadException cle) { using (MshConsoleInfo.tracer.TraceMethod()) { MshConsoleInfo._mshsnapinTracer.WriteLine("Creating console info from file {0}", (object)fileName); MshConsoleInfo defaultConfiguration = MshConsoleInfo.CreateDefaultConfiguration(); string fullPath = Path.GetFullPath(fileName); defaultConfiguration.fileName = fullPath; defaultConfiguration.Load(fullPath, out cle); MshConsoleInfo._mshsnapinTracer.WriteLine("Console info created successfully", new object[0]); return(defaultConfiguration); } }
internal PSConsoleLoadException( MshConsoleInfo consoleInfo, Collection <PSSnapInException> exceptions) { using (PSConsoleLoadException.tracer.TraceConstructor((object)this)) { if (!string.IsNullOrEmpty(consoleInfo.Filename)) { this._consoleFileName = consoleInfo.Filename; } if (exceptions != null) { this._PSSnapInExceptions = exceptions; } this.CreateErrorRecord(); } }
/// <summary> /// Constructs a <see cref="System.Management.Automation.Runspaces.MshConsoleInfo"/> object from a /// Monad console file. /// </summary> /// <param name="fileName"> /// Monad console file name. If the filename is not absolute path. Then absolute path is /// constructed by using Path.GetFullPath() API. /// </param> /// <param name="cle"> /// PSConsoleLoadException occurred while loading this console file. This object /// also contains specific PSSnapInExceptions that occurred while loading. /// </param> /// <exception cref="PSSnapInException"> /// One or more default mshsnapins cannot be loaded because the /// registry is not populated correctly. /// </exception> /// <exception cref="PSArgumentNullException"> /// fileName is null. /// </exception> /// <exception cref="PSArgumentException"> /// 1. fileName does not specify proper file extension. /// </exception> /// <exception cref="ArgumentException"> /// fileName contains one or more of the invalid characters defined in System.IO.Path.InvalidPathChars. /// </exception> /// <exception cref="XmlException"> /// Unable to load/parse the file specified by fileName. /// </exception> internal static MshConsoleInfo CreateFromConsoleFile(string fileName, out PSConsoleLoadException cle) { s_mshsnapinTracer.WriteLine("Creating console info from file {0}", fileName); // Construct default mshsnapins MshConsoleInfo consoleInfo = CreateDefaultConfiguration(); // Check whether the filename specified is an absolute path. string absolutePath = Path.GetFullPath(fileName); consoleInfo.Filename = absolutePath; // Construct externalPSSnapIns by loading file. consoleInfo.Load(absolutePath, out cle); s_mshsnapinTracer.WriteLine("Console info created successfully"); return(consoleInfo); }
internal static RunspaceConfigForSingleShell CreateDefaultConfiguration() { _mshsnapinTracer.WriteLine("Creating default runspace configuration.", new object[0]); MshConsoleInfo consoleInfo = MshConsoleInfo.CreateDefaultConfiguration(); if (consoleInfo != null) { RunspaceConfigForSingleShell shell = new RunspaceConfigForSingleShell(consoleInfo); PSConsoleLoadException warning = null; shell.LoadConsole(out warning); if (warning != null) { _mshsnapinTracer.TraceWarning("There was a warning while loading console: {0}", new object[] { warning.Message }); } return(shell); } _mshsnapinTracer.WriteLine("Default runspace configuration created.", new object[0]); return(null); }
internal static MshConsoleInfo CreateDefaultConfiguration() { MshConsoleInfo info = new MshConsoleInfo(PSVersionInfo.PSVersion); try { info.defaultPSSnapIns = PSSnapInReader.ReadEnginePSSnapIns(); } catch (PSArgumentException exception) { string cannotLoadDefaults = ConsoleInfoErrorStrings.CannotLoadDefaults; _mshsnapinTracer.TraceError(cannotLoadDefaults, new object[0]); throw new PSSnapInException(cannotLoadDefaults, exception); } catch (SecurityException exception2) { string errorMessageFormat = ConsoleInfoErrorStrings.CannotLoadDefaults; _mshsnapinTracer.TraceError(errorMessageFormat, new object[0]); throw new PSSnapInException(errorMessageFormat, exception2); } return info; }
internal static RunspaceConfigForSingleShell CreateDefaultConfiguration() { using (RunspaceConfigForSingleShell.tracer.TraceMethod()) { RunspaceConfigForSingleShell._mshsnapinTracer.WriteLine("Creating default runspace configuration.", new object[0]); MshConsoleInfo defaultConfiguration = MshConsoleInfo.CreateDefaultConfiguration(); if (defaultConfiguration != null) { RunspaceConfigForSingleShell configForSingleShell = new RunspaceConfigForSingleShell(defaultConfiguration); PSConsoleLoadException warning = (PSConsoleLoadException)null; configForSingleShell.LoadConsole(out warning); if (warning != null) { RunspaceConfigForSingleShell._mshsnapinTracer.TraceWarning("There was a warning while loading console: {0}", (object)warning.Message); } return(configForSingleShell); } RunspaceConfigForSingleShell._mshsnapinTracer.WriteLine("Default runspace configuration created.", new object[0]); return((RunspaceConfigForSingleShell)null); } }
internal static MshConsoleInfo CreateDefaultConfiguration() { MshConsoleInfo info = new MshConsoleInfo(PSVersionInfo.PSVersion); try { info.defaultPSSnapIns = PSSnapInReader.ReadEnginePSSnapIns(); } catch (PSArgumentException exception) { string cannotLoadDefaults = ConsoleInfoErrorStrings.CannotLoadDefaults; _mshsnapinTracer.TraceError(cannotLoadDefaults, new object[0]); throw new PSSnapInException(cannotLoadDefaults, exception); } catch (SecurityException exception2) { string errorMessageFormat = ConsoleInfoErrorStrings.CannotLoadDefaults; _mshsnapinTracer.TraceError(errorMessageFormat, new object[0]); throw new PSSnapInException(errorMessageFormat, exception2); } return(info); }
internal static MshConsoleInfo CreateDefaultConfiguration() { using (MshConsoleInfo.tracer.TraceMethod()) { MshConsoleInfo mshConsoleInfo = new MshConsoleInfo(PSVersionInfo.PSVersion); try { mshConsoleInfo.defaultPSSnapIns = PSSnapInReader.ReadEnginePSSnapIns(); } catch (PSArgumentException ex) { string resourceString = ResourceManagerCache.GetResourceString("ConsoleInfoErrorStrings", "CannotLoadDefaults"); MshConsoleInfo._mshsnapinTracer.TraceError(resourceString); throw new PSSnapInException(resourceString, (Exception)ex); } catch (SecurityException ex) { string resourceString = ResourceManagerCache.GetResourceString("ConsoleInfoErrorStrings", "CannotLoadDefaults"); MshConsoleInfo._mshsnapinTracer.TraceError(resourceString); throw new PSSnapInException(resourceString, (Exception)ex); } return(mshConsoleInfo); } }
private RunspaceConfigForSingleShell(MshConsoleInfo consoleInfo) { using (RunspaceConfigForSingleShell.tracer.TraceConstructor((object)this)) this._consoleInfo = consoleInfo; }
private RunspaceConfigForSingleShell(MshConsoleInfo consoleInfo) { _consoleInfo = consoleInfo; }
/// <summary> /// Constructs a <see cref="System.Management.Automation.Runspaces.MshConsoleInfo"/> object for the /// current Monad version which is already started. /// </summary> /// <exception cref="PSSnapInException"> /// One or more default mshsnapins cannot be loaded because the /// registry is not populated correctly. /// </exception> internal static MshConsoleInfo CreateDefaultConfiguration() { // Steps: // 1. Get the current Monad Version // 2. Create MshConsoleInfo object. // 3. Read default mshsnapins. MshConsoleInfo consoleInfo = new MshConsoleInfo(PSVersionInfo.PSVersion); try { consoleInfo._defaultPSSnapIns = PSSnapInReader.ReadEnginePSSnapIns(); } catch (PSArgumentException ae) { string message = ConsoleInfoErrorStrings.CannotLoadDefaults; // If we were unable to load default mshsnapins throw PSSnapInException s_mshsnapinTracer.TraceError(message); throw new PSSnapInException(message, ae); } catch (System.Security.SecurityException se) { string message = ConsoleInfoErrorStrings.CannotLoadDefaults; // If we were unable to load default mshsnapins throw PSSnapInException s_mshsnapinTracer.TraceError(message); throw new PSSnapInException(message, se); } return consoleInfo; }
private RunspaceConfigForSingleShell(MshConsoleInfo consoleInfo) { this._consoleInfo = consoleInfo; }