Exemple #1
0
        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);
        }
Exemple #2
0
        public Share[] GetSMBShare(string ShareName)
        {
            SharesResponse result = Get <SharesResponse>("/platform/1/protocols/smb/shares/" + ShareName);

            return(result.Shares);
        }