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

            String   assignmentName                  = request.Inputs["Assignment Name"].AsString();
            bool     applyToSubTargets               = request.Inputs["Apply To Sub Targets"].AsBoolean();
            String   assignedCIs                     = request.Inputs["Assigned CIs (CSV)"].AsString();
            String   description                     = request.Inputs["Assignment Description"].AsString();
            int      action                          = (int)request.Inputs["Assignment Action"].AsUInt32();
            int      desiredConfigType               = (int)request.Inputs["Desired Config Type"].AsUInt32();
            int      dpLocality                      = (int)request.Inputs["DP Locality"].AsUInt32();
            int      localeID                        = (int)request.Inputs["Locale ID"].AsUInt32();
            bool     logComplianceToWinEvent         = request.Inputs["Log Compliace To Windows Event Log"].AsBoolean();
            bool     notifyUser                      = request.Inputs["Notify User"].AsBoolean();
            bool     raiseMOMAlertOnFailure          = request.Inputs["Raise MOM Alert of Failure"].AsBoolean();
            bool     readOnly                        = request.Inputs["Read Only"].AsBoolean();
            bool     sendDetailedNonComplianceStatus = request.Inputs["Send Detailed Non Compliance Status"].AsBoolean();
            DateTime startTime                       = Convert.ToDateTime(request.Inputs["Start Time"].AsString());
            int      suppressReboot                  = (int)request.Inputs["Suppress Reboot"].AsUInt32();
            String   targetCollectionID              = request.Inputs["Target Collection ID"].AsString();
            bool     useGMTTimes                     = request.Inputs["Use GMT Times"].AsBoolean();

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

            using (connection)
            {
                IResultObject col = CM2012Interop.createSCCMUpdatesAssignment(connection, applyToSubTargets, assignedCIs, action, description, assignmentName, desiredConfigType, dpLocality, localeID, logComplianceToWinEvent, notifyUser, raiseMOMAlertOnFailure, readOnly, sendDetailedNonComplianceStatus, startTime, suppressReboot, targetCollectionID, useGMTTimes);

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