public Share[] GetSMBShares(string Sort = null, string Zone = null, Scope scope = Scope.None, bool ResolveNames = false, bool Descending = false, int Limit = -1) { // Variable to include additional parameters with the request.. // Things like sorting, specific zones, ascending/descending, and limits will go onto the querystring. string Parameters = ""; string pre = "?"; if (Sort != null) { Parameters += pre + "sort=" + Sort; pre = "&"; } if (Zone != null) { Parameters += pre + "zone="; pre = "&"; } if (scope != Scope.None) { Parameters += pre; switch (scope) { case Scope.User: Parameters += "user"; break; case Scope.Effective: Parameters += "effective"; break; case Scope.Default: Parameters += "default"; break; // Don't think this is necessary, but whatever. } pre = "&"; } // The resolve names parameter I believe will do additional ldap/AD queries to figure out more info about the trustee? if (ResolveNames) { Parameters += pre + "resolve_names=true"; pre = "&"; } if (Descending) { // The default is ascending, so only if the user specifies descending do i need to do anything Parameters += pre + "dir=DESC"; pre = "&"; } if (Limit != -1) { Parameters += pre + "limit=" + Limit.ToString(); } // todo - resume SharesResponse result = Get <SharesResponse>("/platform/1/protocols/smb/shares" + Parameters); return(result.Shares); }
public Share[] GetSMBShare(string ShareName) { SharesResponse result = Get <SharesResponse>("/platform/1/protocols/smb/shares/" + ShareName); return(result.Shares); }