Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu örnek, Get-Process çalıştırmak için System.Management.Automation.PowerShell sınıfının nasıl kullanılacağını ve Sort-Object cmdlet'lerini zaman uyumlu bir şekilde gösterir.
Get-Process cmdlet'i, yerel bilgisayarda çalışan her işlem için System.Diagnostics.Process nesneleri döndürür ve Sort-Object nesneleri System.Diagnostics.Process.Id* özelliğine göre sıralar. Bu komutların sonuçları, System.Windows.Forms.DataGridView denetimi kullanılarak görüntülenir.
Gereksinimler
Bu örnek Için Windows PowerShell 2.0 gerekir.
Gösterir
Bu örnekte aşağıdakiler gösterilmektedir.
Komutları çalıştırmak için bir System.Management.Automation.PowerShell nesnesi oluşturma.
System.Management.Automation.PowerShell nesnesinin işlem hattına komut ekleme.
Komutları zaman uyumlu olarak çalıştırma.
Windows Forms uygulamasında komutların çıkışını görüntülemek için System.Windows.Forms.DataGridView denetimi kullanma.
Örnek
Bu örnek, Get-Process ve Sort-Object cmdlet'lerini Windows PowerShell tarafından sağlanan varsayılan çalışma alanında zaman uyumlu olarak çalıştırır. Çıkış, System.Windows.Forms.DataGridView denetimi kullanılarak bir formda görüntülenir.
namespace Microsoft.Samples.PowerShell.Runspaces
{
using System;
using System.Collections;
using System.Collections.ObjectModel;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
using System.Windows.Forms;
using PowerShell = System.Management.Automation.PowerShell;
/// <summary>
/// This class contains the Main entry point for this host application.
/// </summary>
internal class Runspace02
{
/// <summary>
/// This method creates the form where the output is displayed.
/// </summary>
private static void CreateForm()
{
Form form = new Form();
DataGridView grid = new DataGridView();
form.Controls.Add(grid);
grid.Dock = DockStyle.Fill;
// 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())
{
powershell.AddCommand("Get-Process").AddCommand("Sort-Object").AddArgument("ID");
if (Runspace.DefaultRunspace == null)
{
Runspace.DefaultRunspace = powershell.Runspace;
}
Collection<PSObject> results = powershell.Invoke();
// The generic collection needs to be re-wrapped in an ArrayList
// for data-binding to work.
ArrayList objects = new ArrayList();
objects.AddRange(results);
// The DataGridView will use the PSObjectTypeDescriptor type
// to retrieve the properties.
grid.DataSource = objects;
}
form.ShowDialog();
}
/// <summary>
/// This sample uses a PowerShell object to run the Get-Process
/// and Sort-Object cmdlets synchronously. Windows Forms and
/// data binding are then used to display the results in a
/// DataGridView control.
/// </summary>
/// <param name="args">The parameter is not used.</param>
/// <remarks>
/// This sample demonstrates the following:
/// 1. Creating a PowerShell object.
/// 2. Adding commands and arguments to the pipeline of
/// the PowerShell object.
/// 3. Running the commands synchronously.
/// 4. Using a DataGridView control to display the output
/// of the commands in a Windows Forms application.
/// </remarks>
private static void Main(string[] args)
{
Runspace02.CreateForm();
}
}
}
Ayrıca Bkz.
PowerShell