wsp-10323 Convert the VSP provider into one utilizing PowerShell. Step 4 Snapshots
This commit is contained in:
parent
6a1efab8d5
commit
8f6b035e89
8 changed files with 377 additions and 181 deletions
|
@ -1,6 +1,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Management;
|
||||
using System.Management.Automation;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
@ -9,6 +10,8 @@ namespace WebsitePanel.Providers.Virtualization
|
|||
{
|
||||
static class PSObjectExtension
|
||||
{
|
||||
#region Properties
|
||||
|
||||
public static object GetProperty(this PSObject obj, string name)
|
||||
{
|
||||
return obj.Members[name].Value;
|
||||
|
@ -33,5 +36,27 @@ namespace WebsitePanel.Providers.Virtualization
|
|||
{
|
||||
return obj.Members[name].Value == null ? "" : obj.Members[name].Value.ToString();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region Methods
|
||||
|
||||
public static ManagementObject Invoke(this PSObject obj, string name, object argument)
|
||||
{
|
||||
return obj.Invoke(name, new[] {argument});
|
||||
}
|
||||
public static ManagementObject Invoke(this PSObject obj, string name, params object[] arguments)
|
||||
{
|
||||
var results = (ManagementObjectCollection)obj.Methods[name].Invoke(arguments);
|
||||
|
||||
foreach (var result in results)
|
||||
{
|
||||
return (ManagementObject) result;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue