' ' 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.Generic Imports System.Text Imports System.Management.Automation Imports System.Management.Automation.Host Imports System.Management.Automation.Runspaces Namespace Microsoft.Samples.PowerShell.Runspaces Module Runspace01 ' ' This sample uses the RunspaceInvoke class to execute ' the get-process cmdlet synchronously. The name and ' handlecount are then extracted from the PSObjects ' returned and displayed. ' ' Unused ' ' This sample demonstrates the following: ' 1. Creating an instance of the RunspaceInvoke class. ' 2. Using this instance to invoke a PowerShell command. ' 3. Using PSObject to extract properties from the objects ' returned by this command. ' Sub Main() ' Create an instance of the RunspaceInvoke class. ' This takes care of all building all of the other ' data structures needed... Dim invoker As RunspaceInvoke = New RunspaceInvoke() Console.WriteLine("Process HandleCount") Console.WriteLine("--------------------------------") ' Now invoke the runspace and display the objects that are ' returned... For Each result As PSObject In invoker.Invoke("get-process") Console.WriteLine("{0,-20} {1}", _ result.Members("ProcessName").Value, _ result.Members("HandleCount").Value) Next System.Console.WriteLine("Hit any key to exit...") System.Console.ReadKey() End Sub End Module End Namespace