Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sampel ini menunjukkan cara menggunakan kelas System.Management.Automation.PowerShell untuk menjalankan cmdlet Get-Process secara sinkron. Cmdlet Get-Process mengembalikan objek System.Diagnostics.Process untuk setiap proses yang berjalan di komputer lokal. Nilai properti System.Diagnostics.Process.ProcessName* dan System.Diagnostics.Process.HandleCount* kemudian diekstrak dari objek yang dikembalikan dan ditampilkan di jendela konsol.
Persyaratan
Sampel ini memerlukan Windows PowerShell 2.0.
Menunjukkan
Membuat objek System.Management.Automation.PowerShell untuk menjalankan perintah.
Menambahkan perintah ke alur objek System.Management.Automation.PowerShell.
Menjalankan perintah secara sinkron.
Menggunakan System.Management.Automation.PSObject objek untuk mengekstrak properti dari objek yang dikembalikan oleh perintah .
Contoh
Sampel ini menjalankan cmdlet Get-Process secara sinkron di runspace default yang disediakan oleh Windows PowerShell.
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();
}
}
}