Przykładowy kod Runspace01 (C#)

Poniżej znajdują się przykłady kodu dla przestrzeni uruchamiania opisane w te tematze Creating a Console Application That Runs a Specified Command (Tworzenie aplikacji konsolowej uruchamianej za pomocą określonego polecenia). W tym celu aplikacja wywołuje obszar działania, a następnie wywołuje polecenie. (Należy pamiętać, że ta aplikacja nie określa informacji o konfiguracji przestrzeni uruchamiania ani nie tworzy jawnie potoku). Wywoływane polecenie to Get-Process polecenie cmdlet .

Uwaga

Plik źródłowy języka C# (runspace01.cs) dla tego środowiska uruchomieniowego można pobrać przy użyciu zestawu Microsoft Windows Software Development Kit dla systemów Windows Vista i Microsoft .NET Framework 3.0 Runtime Components. Aby uzyskać instrukcje dotyczące pobierania, zobacz How to Install Windows PowerShell and Download the Windows PowerShell SDK (Jak zainstalować zestaw SDK usługi Windows PowerShell). Pobrane pliki źródłowe są dostępne w <PowerShell Samples> katalogu .

Przykład kodu

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ż

Windows PowerShell — przewodnik programisty

Windows PowerShell SDK