wsp-10323 Convert the VSP provider into one utilizing PowerShell. Step 4 Snapshots

This commit is contained in:
AlexanderTr 2015-03-13 08:02:31 +03:00
parent 6a1efab8d5
commit 8f6b035e89
8 changed files with 377 additions and 181 deletions

View file

@ -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
}
}