69 lines
2.3 KiB
VB.net
69 lines
2.3 KiB
VB.net
'
|
|
' Copyright (c) 2006 Microsoft Corporation. All rights reserved.
|
|
'
|
|
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|
|
' ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
' THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
|
' PARTICULAR PURPOSE.
|
|
'
|
|
Imports System
|
|
Imports System.Collections
|
|
Imports System.Collections.ObjectModel
|
|
Imports System.Windows.Forms
|
|
Imports System.Management.Automation.Runspaces
|
|
Imports System.Management.Automation
|
|
|
|
Namespace Microsoft.Samples.PowerShell.Runspaces
|
|
|
|
Class Runspace02
|
|
|
|
Shared Sub CreateForm()
|
|
Dim form As New Form()
|
|
Dim grid As New DataGridView()
|
|
form.Controls.Add(grid)
|
|
grid.Dock = DockStyle.Fill
|
|
|
|
' Create an instance of the RunspaceInvoke class.
|
|
' This takes care of all building all of the other
|
|
' data structures needed...
|
|
Dim invoker As New RunspaceInvoke()
|
|
|
|
Dim results As Collection(Of PSObject) = _
|
|
invoker.Invoke("get-process | sort-object ID")
|
|
|
|
' The generic collection needs to be re-wrapped in an ArrayList
|
|
' for data-binding to work...
|
|
Dim objects As New ArrayList()
|
|
objects.AddRange(results)
|
|
|
|
' The DataGridView will use the PSObjectTypeDescriptor type
|
|
' to retrieve the properties.
|
|
grid.DataSource = objects
|
|
|
|
form.ShowDialog()
|
|
|
|
End Sub 'CreateForm
|
|
|
|
|
|
''' <summary>
|
|
''' This sample uses the RunspaceInvoke class to execute
|
|
''' the get-process cmdlet synchronously. Windows Forms and data
|
|
''' binding are then used to display the results in a
|
|
''' DataGridView control.
|
|
''' </summary>
|
|
''' <param name="args">Unused</param>
|
|
''' <remarks>
|
|
''' This sample demonstrates the following:
|
|
''' 1. Creating an instance of the RunspaceInvoke class.
|
|
''' 2. Using this instance to invoke a PowerShell command.
|
|
''' 3. Using the output of RunspaceInvoke in a DataGridView
|
|
''' in a Windows Forms application
|
|
''' </remarks
|
|
Shared Sub Main(ByVal args() As String)
|
|
Runspace02.CreateForm()
|
|
End Sub 'Main
|
|
|
|
End Class 'Runspace02
|
|
|
|
End Namespace
|