Przykład GetProcessSample01GetProcessSample01 Sample

Ten przykład pokazuje, jak zaimplementować polecenie cmdlet, które pobiera procesy na komputerze lokalnym.This sample shows how to implement a cmdlet that retrieves the processes on the local computer. To polecenie cmdlet to uproszczona wersja Get-Process polecenia cmdlet dostarczanego przez program Windows PowerShell 2,0.This cmdlet is a simplified version of the Get-Process cmdlet that is provided by Windows PowerShell 2.0.

Jak skompilować przykład za pomocą programu Visual Studio.How to build the sample by using Visual Studio.

  1. Po zainstalowaniu zestawu Windows PowerShell 2,0 SDK przejdź do folderu GetProcessSample01.With the Windows PowerShell 2.0 SDK installed, navigate to the GetProcessSample01 folder. Domyślna lokalizacja to 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. Kliknij dwukrotnie ikonę pliku rozwiązania (. sln).Double-click the icon for the solution (.sln) file. Spowoduje to otwarcie przykładowego projektu w Microsoft Visual Studio.This opens the sample project in Microsoft Visual Studio.

  3. W menu kompilacja wybierz opcję Kompiluj rozwiązanie .In the Build menu, select Build Solution .

Biblioteka dla przykładu zostanie skompilowana w domyślnych folderach \Bin lub \bin\debug.The library for the sample will be built in the default \bin or \bin\debug folders.

Jak uruchomić przykładHow to run the sample

  1. Otwórz okno wiersza polecenia.Open a Command Prompt window.

  2. Przejdź do katalogu zawierającego przykładowy plik. dll.Navigate to the directory containing the sample .dll file.

  3. Uruchom Installutil "GetProcessSample01.dll".Run installutil "GetProcessSample01.dll".

  4. Uruchom program Windows PowerShell.Start Windows PowerShell.

  5. Uruchom następujące polecenie, aby dodać przystawkę do powłoki.Run the following command to add the snap-in to the shell.

    Add-PSSnapin GetProcPSSnapIn01

  6. Wprowadź następujące polecenie, aby uruchomić polecenie cmdlet.Enter the following command to run the cmdlet. get-proc

    get-proc

    Jest to przykładowe dane wyjściowe, które wynikają z następujących kroków.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
    

WymaganiaRequirements

Ten przykład wymaga środowiska Windows PowerShell 1,0 lub nowszego.This sample requires Windows PowerShell 1.0 or later.

DemonstracjeDemonstrates

Ten przykład ilustruje następujące kwestie.This sample demonstrates the following.

  • Tworzenie podstawowego przykładowego polecenia cmdlet.Creating a basic sample cmdlet.

  • Definiowanie klasy poleceń cmdlet przy użyciu atrybutu cmdlet.Defining a cmdlet class by using the Cmdlet attribute.

  • Tworzenie przystawki, która współpracuje z programem Windows PowerShell 1,0 i Windows PowerShell 2,0.Creating a snap-in that works with both Windows PowerShell 1.0 and Windows PowerShell 2.0. Kolejne przykłady używają modułów zamiast przystawek, aby wymagały środowiska Windows PowerShell 2,0.Subsequent samples use modules instead of snap-ins so they require Windows PowerShell 2.0.

PrzykładExample

Ten przykład pokazuje, jak utworzyć proste polecenie cmdlet i jego przystawkę.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
}

Zobacz teżSee Also

Pisanie polecenia cmdlet programu Windows PowerShellWriting a Windows PowerShell Cmdlet