Runspace01 (C#) – kodexempel
Här är kodexempel för det runspace som beskrivs i Skapa ett konsolprogram som kör ett angivet kommando.
För att göra detta anropar programmet ett runspace och anropar sedan ett kommando. (Observera att det här programmet inte anger konfigurationsinformation för runspace och inte heller uttryckligen skapar en pipeline). Kommandot som anropas är Get-Process cmdleten .
Anteckning
Du kan ladda ned C#-källfilen (runspace01.cs) för det här runspace med Microsoft Windows Software Development Kit för Windows Vista och Microsoft .NET Framework 3.0 Runtime Components. Anvisningar för nedladdning finns i Installera Windows PowerShell och Ladda ned Windows PowerShell SDK. De nedladdade källfilerna är tillgängliga i <PowerShell Samples> katalogen .
Kodexempel
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();
}
}
}
Se även
Feedback
Skicka och visa feedback för