55 lines
2.0 KiB
VB.net
55 lines
2.0 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.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
|
|
|