Runspace01 (VB.NET) Code Sample
Here are the code samples for the runspace described in Creating a Console Application That Runs a Specified Command. To do this, the application invokes a runspace, and then invokes a command. (Note that this application does not specify runspace configuration information, nor does it explicitly create a pipeline.) The command that is invoked is the Get-Process
cmdlet.
Code Sample
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
' <summary>
' 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.
' </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 PSObject to extract properties from the objects
' returned by this command.
' </remarks>
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
See Also
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.