using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Management.Automation; using System.Management.Automation.Provider; using Intel.Management.Mei; using Intel.Management.Wsman; namespace Intel.Management.Module { public class AmtDriveInfo : DriveInfo { WsmanConnection _conn; //DriveItem _root; public AmtDriveInfo(PSDriveInfo driveInfo) : base(driveInfo) { _conn = new WsmanConnection(); _conn.Address = "https://ibex7m.intelmas.net:16993/wsman"; _conn.Password = "P@ssw0rd"; _conn.Username = "admin"; List driveList = new List(); //define the admin container DriveItem[] adminChildren = { new StorageAdminItem(this) }; DriveContainer configContainer = new DriveContainer("Config", adminChildren); driveList.Add(configContainer); driveList.Add(new StorageItem(this)); if (string.Compare(driveInfo.Root,"Admin", true) == 0) { } else if (string.Compare(driveInfo.Root, "Storage", true) == 0) { } else { } _root = new DriveContainer(string.Empty, driveList.ToArray()); //if (Root= //"https://serverhame:16992/wsman" } /* public DriveItem GetItemFromPath(string path) { char[] pathChar = { '\\','/' }; string[] paths = path.Split(pathChar,StringSplitOptions.RemoveEmptyEntries); //find item in path DriveItem parent = _root; DriveItem foundItem = null; if (string.Compare(path, _root.Name, true) == 0) { foundItem = _root; } for (int i = 0; i < paths.Length; i++) { foundItem = null; // get the parent item before accessing the children foreach (DriveItem childItem in parent.GetChildItems(this)) { if (string.Compare(childItem.Name, paths[i], true) == 0) { foundItem =childItem; parent = foundItem; break; } } if (foundItem == null)//path not correct { break; } } return foundItem; }*/ public WsmanConnection WsmanConnection { get { return _conn; } } } }