Przykładowy kod Runspace01 (C#)Runspace01 (C#) Code Sample

Poniżej przedstawiono przykłady kodu dla obszaru działania opisanego w temacie Tworzenie aplikacji konsolowej, która uruchamia określone polecenie.Here are the code samples for the runspace described in Creating a Console Application That Runs a Specified Command. W tym celu aplikacja wywołuje obszar działania, a następnie wywołuje polecenie.To do this, the application invokes a runspace, and then invokes a command. (Należy zauważyć, że ta aplikacja nie określa informacji o konfiguracji obszaru działania ani nie tworzy jawnie potoku).(Note that this application does not specify runspace configuration information, nor does it explicitly create a pipeline). Wywołanie polecenia jest poleceniem Get-Process cmdlet.The command that is invoked is the Get-Process cmdlet.

Uwaga

Plik źródłowy C# (runspace01.cs) dla tego obszaru działania można pobrać przy użyciu zestawu Microsoft Windows Software Development Kit dla składników środowiska uruchomieniowego systemu Windows Vista i Microsoft .NET Framework 3,0.You can download the C# source file (runspace01.cs) for this runspace using the Microsoft Windows Software Development Kit for Windows Vista and Microsoft .NET Framework 3.0 Runtime Components. Aby uzyskać instrukcje dotyczące pobierania, zobacz jak zainstalować program Windows PowerShell i pobrać zestaw SDK programu Windows PowerShell.For download instructions, see How to Install Windows PowerShell and Download the Windows PowerShell SDK. Pobrane pliki źródłowe są dostępne w <PowerShell Samples> katalogu.The downloaded source files are available in the <PowerShell Samples> directory.

Przykładowy kodCode Sample

namespace Microsoft.Samples.PowerShell.Runspaces
{
  using System;
  using System.Management.Automation;
  using PowerShell = System.Management.Automation.PowerShell;
  
  /// <summary>
  /// This class contains the Main entry point for this host application.
  /// </summary>
  internal class Runspace01
  {
    /// <summary>
    /// This sample uses the PowerShell class to execute
    /// the get-process cmdlet synchronously. The name and
    /// handlecount are then extracted from the PSObjects
    /// returned and displayed.
    /// </summary>
    /// <param name="args">Parameter not used.</param>
    /// <remarks>
    /// This sample demonstrates the following:
    /// 1. Creating a PowerShell object to run a command.
    /// 2. Adding a command to the pipeline of the PowerShell object.
    /// 3. Running the command synchronously.
    /// 4. Using PSObject objects to extract properties from the objects
    ///    returned by the command.
    /// </remarks>
    private static void Main(string[] args)
    {
      // Create a PowerShell object. Creating this object  takes care of 
      // building all of the other data structures needed to run the command.
      using (PowerShell powershell = PowerShell.Create().AddCommand("get-process"))
      {
        Console.WriteLine("Process              HandleCount");
        Console.WriteLine("--------------------------------");
          
        // Invoke the command synchronously and display the  
        // ProcessName and HandleCount properties of the 
        // objects that are returned.
        foreach (PSObject result in powershell.Invoke())
        {
          Console.WriteLine(
                      "{0,-20} {1}",
                      result.Members["ProcessName"].Value,
                      result.Members["HandleCount"].Value);
        }
      }
      
      System.Console.WriteLine("Hit any key to exit...");
      System.Console.ReadKey();
    }
  }
}

Zobacz teżSee Also

Windows PowerShell — przewodnik programistyWindows PowerShell Programmer's Guide

Windows PowerShell SDKWindows PowerShell SDK