GetProcessSample01 – mintaGetProcessSample01 Sample

Ez a minta bemutatja, hogyan implementálhat egy olyan parancsmagot, amely lekéri a folyamatokat a helyi számítógépen.This sample shows how to implement a cmdlet that retrieves the processes on the local computer. Ez a parancsmag a Get-Process Windows PowerShell 2,0 által biztosított parancsmag egyszerűsített verziója.This cmdlet is a simplified version of the Get-Process cmdlet that is provided by Windows PowerShell 2.0.

A minta létrehozása a Visual Studio használatával.How to build the sample by using Visual Studio.

  1. Ha telepítette a Windows PowerShell 2,0 SDK-t, navigáljon a GetProcessSample01 mappára.With the Windows PowerShell 2.0 SDK installed, navigate to the GetProcessSample01 folder. Az alapértelmezett hely a C:\Program Files (x86) \Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\csharp\GetProcessSample01.The default location is C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\csharp\GetProcessSample01.

  2. Kattintson duplán a megoldás (. SLN) fájljának ikonjára.Double-click the icon for the solution (.sln) file. Ez megnyitja a minta projektet a Microsoft Visual Studióban.This opens the sample project in Microsoft Visual Studio.

  3. A build (létrehozás ) menüben válassza a megoldás létrehozásalehetőséget.In the Build menu, select Build Solution.

A minta könyvtára az alapértelmezett \Bin-vagy \Bin\Debug-mappákban lesz felépítve.The library for the sample will be built in the default \bin or \bin\debug folders.

A minta futtatásaHow to run the sample

  1. Nyisson meg egy parancssori ablakot.Open a Command Prompt window.

  2. Navigáljon a sample. dll fájlt tartalmazó könyvtárhoz.Navigate to the directory containing the sample .dll file.

  3. Futtassa a (z) "GetProcessSample01.dll" Installutil.Run installutil "GetProcessSample01.dll".

  4. Indítsa el a Windows PowerShellt.Start Windows PowerShell.

  5. Futtassa a következő parancsot a beépülő modul a rendszerhéjhoz való hozzáadásához.Run the following command to add the snap-in to the shell.

    Add-PSSnapin GetProcPSSnapIn01

  6. A parancsmag futtatásához írja be a következő parancsot.Enter the following command to run the cmdlet. get-proc

    get-proc

    Ez egy minta kimenet, amely a következő lépésekből ered.This is a sample output that results from following these steps.

    Id              Name            State      HasMoreData     Location             Command
    --              ----            -----      -----------     --------             -------
    1               26932870-d3b... NotStarted False                                 Write-Host "A f...
    
    
    Set-Content $env:temp\test.txt "This is a test file"
    
    A file was created in the TEMP directory
    

KövetelményekRequirements

Ehhez a példához a Windows PowerShell 1,0-es vagy újabb verziója szükséges.This sample requires Windows PowerShell 1.0 or later.

Útmutató ehhez:Demonstrates

Ez a példa a következőt mutatja be.This sample demonstrates the following.

  • Alapszintű minta-parancsmag létrehozása.Creating a basic sample cmdlet.

  • Parancsmag-osztály definiálása a parancsmag attribútum használatával.Defining a cmdlet class by using the Cmdlet attribute.

  • Beépülő modul létrehozása a Windows PowerShell 1,0 és a Windows PowerShell 2,0 használatával.Creating a snap-in that works with both Windows PowerShell 1.0 and Windows PowerShell 2.0. Az ezt követő minták beépülő modulok helyett modulokat használnak, így a Windows PowerShell 2,0-et igénylik.Subsequent samples use modules instead of snap-ins so they require Windows PowerShell 2.0.

PéldaExample

Ez a példa bemutatja, hogyan hozhat létre egy egyszerű parancsmagot és a beépülő modult.This sample shows how to create a simple cmdlet and its snap-in.

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

namespace Microsoft.Samples.PowerShell.Commands
{

   #region GetProcCommand

   /// <summary>
   /// This class implements the Get-Proc cmdlet.
   /// </summary>
   [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

   /// <summary>
   /// Create this sample as an PowerShell snap-in
   /// </summary>
   [RunInstaller(true)]
   public class GetProcPSSnapIn01 : PSSnapIn
   {
       /// <summary>
       /// Create an instance of the GetProcPSSnapIn01
       /// </summary>
       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
}

Lásd még:See Also

Windows PowerShell-parancsmag írásaWriting a Windows PowerShell Cmdlet