Exemple #1
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            String colComment      = String.Empty;
            int    colRefreshMin   = 0;
            int    colRefreshHours = 0;
            int    colRefreshDays  = 0;
            String parentColID     = String.Empty;

            String colName = request.Inputs["New Collection Name"].AsString();

            if (request.Inputs.Contains("New Collection Comment"))
            {
                colComment = request.Inputs["New Collection Comment"].AsString();
            }
            if (request.Inputs.Contains("New Collection Refresh Minutes"))
            {
                colRefreshMin = (int)request.Inputs["New Collection Refresh Minutes"].AsUInt32();
            }
            if (request.Inputs.Contains("New Collection Refresh Hours"))
            {
                colRefreshHours = (int)request.Inputs["New Collection Refresh Hours"].AsUInt32();
            }
            if (request.Inputs.Contains("New Collection Refresh Days"))
            {
                colRefreshDays = (int)request.Inputs["New Collection Refresh Days"].AsUInt32();
            }
            if (request.Inputs.Contains("New Collection Parent CollectionID"))
            {
                parentColID = request.Inputs["New Collection Parent CollectionID"].AsString();
            }

            //Setup WQL Connection and WMI Management Scope
            WqlConnectionManager connection = CM2012Interop.connectSCCMServer(SCCMServer, userName, password);

            using (connection)
            {
                IResultObject col = CM2012Interop.createSCCMCollection(connection, colName, colComment, colRefreshMin, colRefreshHours, colRefreshDays, parentColID);

                if (col != null)
                {
                    response.WithFiltering().PublishRange(getObjects(col));
                }
                response.Publish("Number of Collections", ObjCount);
            }
        }