Skip to content
Behnam khani edited this page Dec 4, 2021 · 1 revision

Welcome to the Software-Designers wiki!

using System; using System.Diagnostics; using System.Management.Automation; //Windows PowerShell namespace

using System.ComponentModel;

// This sample shows how to create a simple cmdlet. To test this // cmdlet, the snapin must be registered. First, run the command: // installutil GetProcessSample01.dll // Then run: // Add-PSSnapin GetProcessSnapIn01 // After the snapin has been loaded, you can run: // get-proc

namespace Microsoft.Samples.PowerShell.Commands {

#region GetProcCommand

///

/// This class implements the Get-Proc cmdlet. /// [Cmdlet(VerbsCommon.Get, "Proc")] public class GetProcCommand : Cmdlet
{ #region Cmdlet Overrides
  /// <summary>
  /// The ProcessRecord method calls the Process.GetProcesses 
  /// method to retrieve the processes of the local computer. 
  /// Then, the WriteObject method writes the associated processes 
  /// to the pipeline.
  /// </summary>
  protected override void ProcessRecord()
  {
     // Retrieve the current processes.
     Process[] processes = Process.GetProcesses();

     // Write the processes to the pipeline to make them available
     // to the next cmdlet. The second argument (true) tells Windows 
     // PowerShell to enumerate the array and to send one process 
     // object at a time to the pipeline.
     WriteObject(processes, true);
  }

  #endregion Overrides

} //GetProcCommand

#endregion GetProcCommand

#region PowerShell snap-in

///

/// Create this sample as an PowerShell snap-in /// [RunInstaller(true)] public class GetProcPSSnapIn01 : PSSnapIn { /// /// Create an instance of the GetProcPSSnapIn01 /// public GetProcPSSnapIn01() : base() { }
   /// <summary>
   /// Get a name for this PowerShell snap-in. This name will be used in registering
   /// this PowerShell snap-in.
   /// </summary>
   public override string Name
   {
       get
       {
           return "GetProcPSSnapIn01";
       }
   }

   /// <summary>
   /// Vendor information for this PowerShell snap-in.
   /// </summary>
   public override string Vendor
   {
       get
       {
           return "Microsoft";
       }
   }

   /// <summary>
   /// Gets resource information for vendor. This is a string of format: 
   /// resourceBaseName,resourceName. 
   /// </summary>
   public override string VendorResource
   {
       get
       {
           return "GetProcPSSnapIn01,Microsoft";
       }
   }

   /// <summary>
   /// Description of this PowerShell snap-in.
   /// </summary>
   public override string Description
   {
       get
       {
           return "This is a PowerShell snap-in that includes the get-proc cmdlet.";
       }
   }

}

#endregion PowerShell snap-in }

Clone this wiki locally