Beispiel #1
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            String sourcePath = request.Inputs["FTP File Path"].AsString();
            String savePath   = request.Inputs["File Save Path"].AsString();
            bool   useSSL     = Convert.ToBoolean(request.Inputs["UseSSL"].AsString());

            // Get the object used to communicate with the server.
            FtpWebRequest ftpWebRequest = (FtpWebRequest)WebRequest.Create(sourcePath);

            ftpWebRequest.Method = WebRequestMethods.Ftp.DownloadFile;

            ftpWebRequest.EnableSsl   = useSSL;
            ftpWebRequest.Credentials = new NetworkCredential(settings.UserName, settings.Password);

            FtpWebResponse ftpWebResponse = (FtpWebResponse)ftpWebRequest.GetResponse();

            Stream       responseStream = ftpWebResponse.GetResponseStream();
            StreamReader reader         = new StreamReader(responseStream);
            StreamWriter writer         = new StreamWriter(savePath);

            writer.Write(reader.ReadToEnd());
            writer.Close();
            reader.Close();
            ftpWebResponse.Close();


            response.Publish("Downloaded File Path", savePath);
        }
Beispiel #2
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            String deletePath = request.Inputs["FTP File Path"].AsString();
            bool   useSSL     = Convert.ToBoolean(request.Inputs["UseSSL"].AsString());

            DeleteFileOnServer(new Uri(deletePath), useSSL);
        }
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            String objID = request.Inputs["CI_ID"].AsString();

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

            using (connection)
            {
                String[] propertyNameChoices = CMInterop.getSCCMObjectPropertyNames(connection, "SMS_AuthorizationList");
                foreach (String propertyName in propertyNameChoices)
                {
                    if ((request.Inputs.Contains(propertyName + " : Property Type")) && (request.Inputs.Contains(propertyName + " : Property Value")))
                    {
                        CMInterop.modifySCCMAuthorizationList(connection, objID, request.Inputs[(propertyName + " : Property Type")].AsString(), propertyName, request.Inputs[(propertyName + " : Property Value")].AsString());
                    }
                }

                IResultObject col = null;
                col = CMInterop.getSCCMAuthorizationList(connection, "CI_ID LIKE '" + objID + "'");

                if (col != null)
                {
                    response.WithFiltering().PublishRange(getObjects(col));
                }
                response.Publish("Number of Authorization Lists", ObjCount);
            }
        }
Beispiel #4
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            String filter = request.Inputs["Filter Query"].AsString();

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

            using (connection)
            {
                IResultObject col = CMInterop.getSCCMObject(connection, "SMS_R_System", filter);

                List <system> systemCollection = new List <system>();
                foreach (IResultObject obj in col)
                {
                    ObjCount++;
                    systemCollection.Add(new system(obj));
                }

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

                CMInterop.removeSCCMObject(connection, filter, "SMS_R_System");
            }
        }
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            string ouName         = request.Inputs["New OU Name"].AsString();
            string parentLDAPPath = CapitalizeLDAPPath(request.Inputs["Parent OU LDAP Path"].AsString());
            string ouDescription  = string.Empty;

            if (request.Inputs.Contains("New OU Description"))
            {
                ouDescription = request.Inputs["New OU Description"].AsString();
            }

            string         connectionPrefix = parentLDAPPath;
            DirectoryEntry dirEntry         = new DirectoryEntry(connectionPrefix, credentials.UserName + "@" + credentials.Domain, credentials.Password);
            DirectoryEntry newOU            = dirEntry.Children.Add("OU=" + ouName, "OrganizationalUnit");

            try
            {
                if (!ouDescription.Equals(string.Empty))
                {
                    newOU.Properties["description"].Value = ouDescription;
                }
                newOU.CommitChanges();
            }
            catch (Exception e) { response.ReportErrorEvent("Error setting description", e.Message.ToString()); }

            string ouLDAPPath = newOU.Path;

            response.Publish("Organization Unit LDAP Path", ouLDAPPath);
        }
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            String DisplayName    = request.Inputs["Display Name"].AsString();
            String Description    = request.Inputs["Description"].AsString();
            String InformativeURL = request.Inputs["Informative URL"].AsString();
            String LocaleID       = request.Inputs["LocaleID"].AsString();
            String UpdatesList    = request.Inputs["Updates List (CSV)"].AsString();

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

            using (connection)
            {
                try
                {
                    IResultObject col = CM2012Interop.createSCCMAuthorizationList(connection, DisplayName, Description, InformativeURL, LocaleID, UpdatesList);
                    if (col != null)
                    {
                        response.WithFiltering().PublishRange(getObjects(col));
                    }
                }
                catch (Exception ex)
                {
                    response.LogErrorMessage(ex.Message);
                }

                response.Publish("Number of Packages", ObjCount);
            }
        }
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            String objID    = request.Inputs["Collection ID"].AsString();
            String ruleName = request.Inputs["Rule Name"].AsString();

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

            using (connection)
            {
                CM2012Interop.removeSCCMCollectionMember(connection, objID, ruleName);

                IResultObject col = null;
                col = CM2012Interop.getSCCMCollection(connection, "CollectionID LIKE '" + objID + "'");

                if (col != null)
                {
                    response.WithFiltering().PublishRange(getObjects(col));
                }
                response.Publish("Number of Collections", ObjCount);
            }
        }
Beispiel #8
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            userName      = settings.UserName;
            password      = settings.Password;
            domain        = settings.Domain;
            port          = settings.Port;
            virtualCenter = settings.VirtualCenter;


            VM                  = request.Inputs["VM"].AsString();
            Name                = request.Inputs["Name"].AsString();
            MemoryMB            = request.Inputs["MemoryMB"].AsString();
            NumCpu              = request.Inputs["NumCpu"].AsString();
            GuestId             = request.Inputs["GuestId"].AsString();
            AlternateGuestName  = request.Inputs["AlternateGuestName"].AsString();
            OSCustomizationSpec = request.Inputs["OSCustomizationSpec"].AsString();
            HARestartPriority   = request.Inputs["HARestartPriority"].AsString();
            HAIsolationResponse = request.Inputs["HAIsolationResponse"].AsString();
            DRSAutomationLevel  = request.Inputs["DRSAutomationLevel"].AsString();
            VMSwapfilePolicy    = request.Inputs["VMSwapfilePolicy"].AsString();
            Description         = request.Inputs["Description"].AsString();
            Template            = request.Inputs["Template"].AsString();
            Snapshot            = request.Inputs["Snapshot"].AsString();

            response.WithFiltering().PublishRange(getVM());
        }
Beispiel #9
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            string comment = string.Empty;

            string DfsEntryPath = request.Inputs[ResourceStrings.DfsEntryPath].AsString();
            string ServerName   = request.Inputs[ResourceStrings.ServerName].AsString();
            string PathName     = request.Inputs[ResourceStrings.DfsEntryPath].AsString();

            bool DFS_ADD_VOLUME = Convert.ToBoolean(request.Inputs[ResourceStrings.DFS_ADD_VOLUME].AsString());

            if (request.Inputs.Contains(ResourceStrings.Comment))
            {
                comment = request.Inputs[ResourceStrings.Comment].AsString();
            }

            int result = 0;

            if (DFS_ADD_VOLUME)
            {
                result = NetDfsAdd(DfsEntryPath, ServerName, PathName, comment, ResourceStrings.Value_DFS_ADD_VOLUME);
            }
            else
            {
                result = NetDfsAdd(DfsEntryPath, ServerName, PathName, comment, ResourceStrings.Value_NO_DFS_ADD_VOLUME);
            }

            response.Publish(ResourceStrings.NERR_Success, result);
            response.Publish(ResourceStrings.DfsEntryPath, DfsEntryPath);
        }
Beispiel #10
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            String results    = "Success";
            String KeyPath    = request.Inputs["Key Path:  HKLM:\\"].AsString();
            String ServerName = request.Inputs["Server Name"].AsString();

            try
            {
                RegistryKey rk = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, ServerName);
                rk.DeleteSubKeyTree(KeyPath);
                rk.OpenSubKey(KeyPath);
                if (rk.Name == null)
                {
                    results = "Success";
                }
                else
                {
                    results = "Failure";
                }
            }
            catch (Exception ex)
            {
                response.LogErrorMessage(ex.Message.ToString());
                throw ex;
            }

            response.Publish("Results", results);
        }
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            int referenceID   = (int)request.Inputs["Reference Computer Resource ID"].AsUInt32();
            int destinationID = (int)request.Inputs["Destination Computer Resource ID"].AsUInt32();


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

            using (connection)
            {
                CMInterop.associateComputer(connection, referenceID, destinationID);

                IResultObject col = null;
                col = CMInterop.getSCCMComputer(connection, Convert.ToString(destinationID), "", "");

                if (col != null)
                {
                    response.WithFiltering().PublishRange(getObjects(col));
                }
                response.Publish("Number of Systems", ObjCount);
            }
        }
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            String objID = request.Inputs["Package ID"].AsString();

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

            try
            {
                String[] propertyNameChoices = CM2012Interop.getSCCMObjectPropertyNames(connection, "SMS_SoftwareUpdatesPackage");
                foreach (String propertyName in propertyNameChoices)
                {
                    if ((request.Inputs.Contains(propertyName + " : Property Type")) && (request.Inputs.Contains(propertyName + " : Property Value")))
                    {
                        CM2012Interop.modifySCCMSoftwareUpdatesPackage(connection, objID, request.Inputs[(propertyName + " : Property Type")].AsString(), propertyName, request.Inputs[(propertyName + " : Property Value")].AsString());
                    }
                }

                IResultObject col = CM2012Interop.getSCCMSoftwareUpdatesPackage(connection, "PackageID LIKE '" + objID + "'");
                if (col != null)
                {
                    response.WithFiltering().PublishRange(getObjects(col));
                }
                response.Publish("Number of Packages", ObjCount);
            }
            finally
            {
                connection.Close();
                connection.Dispose();
            }
        }
Beispiel #13
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            String pkgID           = request.Inputs["Existing Package ID"].AsString();
            String prgName         = request.Inputs["Existing Program Name"].AsString();
            String prgOSMaxVersion = request.Inputs["New Max Version"].AsString();
            String prgOSMinVersion = request.Inputs["New Min Version"].AsString();
            String prgOSName       = request.Inputs["New Name"].AsString();
            String prgOSPlatform   = request.Inputs["New Platform"].AsString();

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

            using (connection)
            {
                CM2012Interop.modifySCCMProgramSupportedPlatforms(connection, pkgID, prgName, prgOSMaxVersion, prgOSMinVersion, prgOSName, prgOSPlatform);

                IResultObject col = CM2012Interop.getSCCMProgram(connection, "PackageID LIKE '" + pkgID + "' AND ProgramName LIKE '" + prgName + "'");

                if (col != null)
                {
                    response.WithFiltering().PublishRange(getObjects(col));
                }
                response.Publish("Number of Programs", ObjCount);
            }
        }
Beispiel #14
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            String sourcePath = request.Inputs["Source File Path"].AsString();
            String savePath   = request.Inputs["Destination File Path"].AsString();
            bool   useSSL     = Convert.ToBoolean(request.Inputs["UseSSL"].AsString());

            // Get the object used to communicate with the server.
            FtpWebRequest ftpWebRequest = (FtpWebRequest)WebRequest.Create(savePath);

            ftpWebRequest.Method    = WebRequestMethods.Ftp.UploadFile;
            ftpWebRequest.EnableSsl = useSSL;
            // This example assumes the FTP site uses anonymous logon.
            ftpWebRequest.Credentials = new NetworkCredential(settings.UserName, settings.Password);


            // Copy the contents of the file to the request stream.
            StreamReader sourceStream = new StreamReader(sourcePath);

            byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
            sourceStream.Close();
            ftpWebRequest.ContentLength = fileContents.Length;

            Stream requestStream = ftpWebRequest.GetRequestStream();

            requestStream.Write(fileContents, 0, fileContents.Length);
            requestStream.Close();

            FtpWebResponse ftpWebResponse = (FtpWebResponse)ftpWebRequest.GetResponse();

            ftpWebResponse.Close();

            response.Publish("Status", ftpWebResponse.StatusDescription);
        }
Beispiel #15
0
        public async Task SetActivityResponseAsync(IActivityResponse activityResponse)
        {
            if (ReferenceEquals(this._ActivityResponse, activityResponse))
            {
                return;
            }

            if (activityResponse is null)
            {
                throw new ArgumentNullException(nameof(activityResponse));
            }

            var prev = System.Threading.Interlocked.CompareExchange(ref this._ActivityResponse, activityResponse, null);

            if (prev is null)
            {
                var activityEvent = activityResponse.GetAsActivityEvent(this);
                await this.AddActivityEventAsync(activityEvent);

                this._ActivityCompletion.TrySetResult(activityResponse);
            }
            else
            {
                throw new ArgumentException("already set", nameof(activityResponse));
            }
        }
Beispiel #16
0
 public void Execute(IActivityRequest request, IActivityResponse response)
 {
     computerName = request.Inputs["Computer Name"].AsString();
     taskName     = request.Inputs["Task Name"].AsString();
     response.WithFiltering().PublishRange(getScheduledTasks());
     response.Publish("Number of Tasks", numberOfTasks);
 }
Beispiel #17
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            String pkgName        = request.Inputs["New Package Name"].AsString();
            String pkgDescription = request.Inputs["New Package Description"].AsString();
            int    pkgSourceFlag  = (int)request.Inputs["New Package Source Flag"].AsUInt32();
            String pkgSourcePath  = request.Inputs["New Package Source Path"].AsString();

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

            using (connection)
            {
                IResultObject col = CM2012Interop.createSCCMPackage(connection, pkgName, pkgDescription, pkgSourceFlag, pkgSourcePath);

                if (col != null)
                {
                    response.WithFiltering().PublishRange(getObjects(col));
                }
                response.Publish("Number of Packages", ObjCount);
            }
        }
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            String objID             = request.Inputs["Collection ID"].AsString();
            String ruleName          = request.Inputs["Rule Name"].AsString();
            String wqlQuery          = request.Inputs["WQL Query"].AsString();
            String limitCollectionID = String.Empty;

            if (request.Inputs.Contains("Collection ID to Limit Query To"))
            {
                limitCollectionID = request.Inputs["Collection ID to Limit Query To"].AsString();
            }

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

            using (connection)
            {
                CMInterop.addSCCMCollectionRule(connection, objID, ruleName, wqlQuery, limitCollectionID);

                IResultObject col = null;
                col = CMInterop.getSCCMCollection(connection, "CollectionID LIKE '" + objID + "'");

                if (col != null)
                {
                    response.WithFiltering().PublishRange(getObjects(col));
                }
                response.Publish("Number of Collections", ObjCount);
            }
        }
Beispiel #19
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            String objID = request.Inputs["Advertisement ID"].AsString();

            DateTime startTime = request.Inputs["Start Time"].AsDateTime();

            int dayDuration    = request.Inputs["Day Duration"].AsInt32();
            int hourDuration   = request.Inputs["Hour Duration"].AsInt32();
            int minuteDuration = request.Inputs["Minute Duration"].AsInt32();

            bool isGMT = request.Inputs["Is GMT"].AsBoolean();

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

            using (connection)
            {
                CMInterop.modifySCCMAdvertisementAddAssignmentScheduleNonReccuring(connection, objID, isGMT, dayDuration, hourDuration, minuteDuration, startTime);
                IResultObject col = CMInterop.getSCCMAdvertisement(connection, "AdvertisementID LIKE '" + objID + "'");
                if (col != null)
                {
                    response.WithFiltering().PublishRange(getObjects(col));
                }
                response.Publish("Number of Advertisements", ObjCount);
            }
        }
Beispiel #20
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            String objID         = request.Inputs["Collection ID"].AsString();
            String contentIDList = request.Inputs["Content ID List (CSV)"].AsString();
            bool   refreshDPs    = request.Inputs["Refresh DPs"].AsBoolean();

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

            using (connection)
            {
                CM2012Interop.modifySCCMSoftwareUpdatesPackageRemoveCIs(connection, objID, contentIDList, refreshDPs);

                IResultObject col = null;
                col = CM2012Interop.getSCCMSoftwareUpdatesPackage(connection, "PackageID LIKE '" + objID + "'");

                if (col != null)
                {
                    response.WithFiltering().PublishRange(getObjects(col));
                }
                response.Publish("Number of Collections", ObjCount);
            }
        }
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            string EndingBefore = request.Inputs["Clear History Before Date"].AsString();
            string actionResult = FimSyncWmiServices.ClearPasswordHistory(connectionSettings, EndingBefore);

            response.Publish("Action Result", actionResult);
        }
Beispiel #22
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            String filter   = request.Inputs["Filter Query"].AsString();
            String objClass = request.Inputs["Class"].AsString();

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

            using (connection)
            {
                IResultObject col = CMInterop.getSCCMObject(connection, objClass, filter);

                CMInterop.removeSCCMObject(connection, filter, objClass);

                foreach (IResultObject obj in col)
                {
                    ObjCount++;
                }
                response.Publish("Number of Objects", ObjCount);
            }
        }
Beispiel #23
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            userName        = settings.UserName;
            password        = settings.Password;
            domain          = settings.Domain;
            exchangeVersion = settings.ExchangeVersion;
            serviceURL      = settings.ServiceUrl;

            AppointmentID = request.Inputs["Appointment Id"].AsString();
            StartDate     = request.Inputs["Start Date"].AsString();
            EndDate       = request.Inputs["End Date"].AsString();
            Calendar      = request.Inputs["Calendar Name"].AsString();

            string alternateMailbox = string.Empty;

            if (request.Inputs.Contains("Alternate Mailbox"))
            {
                alternateMailbox = request.Inputs["Alternate Mailbox"].AsString();
            }

            ExchangeService service = new ExchangeService();

            switch (exchangeVersion)
            {
            case "Exchange2007_SP1":
                service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
                break;

            case "Exchange2010":
                service = new ExchangeService(ExchangeVersion.Exchange2010);
                break;

            case "Exchange2010_SP1":
                service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
                break;

            default:
                service = new ExchangeService();
                break;
            }

            service.Credentials = new WebCredentials(userName, password, domain);
            String AccountUrl = userName + "@" + domain;

            if (serviceURL.Equals("Autodiscover"))
            {
                service.AutodiscoverUrl(AccountUrl);
            }
            else
            {
                service.Url = new Uri(serviceURL);
            }

            if (!alternateMailbox.Equals(String.Empty))
            {
                service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, alternateMailbox);
            }

            response.WithFiltering().PublishRange(getAppointment(service));
        }
Beispiel #24
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            string messageQueue      = request.Inputs[destinationQueue].AsString();
            string message           = request.Inputs[inputMessage].AsString();
            bool   useAuthentication = request.Inputs[authentiation].AsBoolean();

            // check if queue exists, if not create it

            MessageQueue msMq = null;

            if (!MessageQueue.Exists(messageQueue))
            {
                throw new Exception(String.Format("The message queue\n{0}\ndoes not exist", messageQueue));
            }
            else
            {
                msMq = new MessageQueue(messageQueue);
            }
            using (msMq)
            {
                Message msg = new Message(message);
                msg.UseAuthentication = useAuthentication;
                msMq.Send(msg, MessageQueueTransactionType.Single);
            }

            response.Publish(destinationQueue, messageQueue);
            response.Publish(inputMessage, message);
            response.Publish(authentiation, useAuthentication);
            response.Publish(status, "Success");
        }
Beispiel #25
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            computerName = request.Inputs["Computer Name"].AsString();
            taskName     = request.Inputs["Task Name"].AsString();

            response.WithFiltering().PublishRange(AddTrigger());
        }
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            String sourceForestName = request.Inputs["Source Forest Name"].AsString();
            String targetForestName = request.Inputs["Target Forest Name"].AsString();

            String TargetForestUsername     = String.Empty;
            String TargetForestUserPassword = String.Empty;

            TargetForestUsername     = request.Inputs["Target Forest Username"].AsString();
            TargetForestUserPassword = request.Inputs["Target Forest User Password"].AsString();

            Forest sourceForest;
            Forest targetForest;

            sourceForest = Forest.GetForest(new DirectoryContext(DirectoryContextType.Forest, sourceForestName, credentials.UserName + "@" + credentials.Domain, credentials.Password));

            if (TargetForestUsername != String.Empty && TargetForestUserPassword != String.Empty)
            {
                targetForest = Forest.GetForest(new DirectoryContext(DirectoryContextType.Forest, targetForestName, TargetForestUsername, TargetForestUserPassword));
            }
            else
            {
                targetForest = Forest.GetForest(new DirectoryContext(DirectoryContextType.Forest, targetForestName, credentials.UserName + "@" + credentials.Domain, credentials.Password));
            }

            sourceForest.DeleteTrustRelationship(targetForest);

            response.Publish("Source Forest Name", sourceForestName);
            response.Publish("Target Forest Name", targetForestName);
        }
Beispiel #27
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SCCMServer = settings.SCCMSERVER;
            userName   = settings.UserName;
            password   = settings.Password;

            String pkgID               = request.Inputs["Existing Package ID"].AsString();
            String prgName             = request.Inputs["New Program Name"].AsString();
            String prgComment          = request.Inputs["New Program Comment"].AsString();
            String prgCommandLine      = request.Inputs["New Program Command Line"].AsString();
            int    prgMaxRunTime       = (int)request.Inputs["New Program Max Runtime"].AsUInt32();
            String prgWorkingDirectory = request.Inputs["New Program Working Directory"].AsString();

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

            using (connection)
            {
                IResultObject col = CMInterop.createSCCMProgram(connection, pkgID, prgName, prgComment, prgCommandLine, prgMaxRunTime, prgWorkingDirectory);

                if (col != null)
                {
                    response.WithFiltering().PublishRange(getObjects(col));
                }
                response.Publish("Number of Programs", ObjCount);
            }
        }
Beispiel #28
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            String sourcePath = request.Inputs["Source File Path"].AsString();
            String savePath   = request.Inputs["Destination File Path"].AsString();
            bool   useSSL     = Convert.ToBoolean(request.Inputs["UseSSL"].AsString());

            // Get the object used to communicate with the server.
            FtpWebRequest ftpWebRequest = (FtpWebRequest)WebRequest.Create(savePath);

            ftpWebRequest.Method    = WebRequestMethods.Ftp.ListDirectoryDetails;
            ftpWebRequest.EnableSsl = useSSL;
            // This example assumes the FTP site uses anonymous logon.
            ftpWebRequest.Credentials = new NetworkCredential(settings.UserName, settings.Password);

            FtpWebResponse ftpWebResponse = (FtpWebResponse)ftpWebRequest.GetResponse();

            Stream responseStream = ftpWebResponse.GetResponseStream();

            using (StreamReader sr = new StreamReader(responseStream))
            {
                while (sr.Peek() >= 0)
                {
                    response.Publish("File Details", sr.ReadLine());
                }
            }
        }
Beispiel #29
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            SecureString password = new SecureString();

            settings.Password.ToCharArray().ToList().ForEach(password.AppendChar);
            PSCredential creds = new PSCredential(settings.UserName, password);

            PSRunspaceCreationData creationData = new PSRunspaceCreationData();

            creationData.Credentials        = creds;
            creationData.Hostname           = request.Inputs["Computer name"].AsString();
            creationData.Port               = request.Inputs["Connection port"].AsInt32();
            creationData.UseSsl             = request.Inputs["Use SSL"].AsBoolean();
            creationData.LoadMachineProfile = request.Inputs["Load host profile"].AsBoolean();
            creationData.Name               = request.Inputs["Session name"].AsString().ToUpper();

            IRunspaceManager      runspaceManager = PSRunspaceManger.CreateClient();
            RemoteOperationResult result          = runspaceManager.OpenRunspace(creationData);

            if (!result.Success)
            {
                throw new Exception(result.Message);
            }

            response.Publish("Session name", creationData.Name);
        }
Beispiel #30
0
        public void Execute(IActivityRequest request, IActivityResponse response)
        {
            userName        = settings.UserName;
            password        = settings.Password;
            domain          = settings.Domain;
            serviceURL      = settings.ServiceUrl;
            exchangeVersion = settings.ExchangeVersion;

            emailID = request.Inputs["Email ID"].AsString();


            ExchangeService service = new ExchangeService();

            switch (exchangeVersion)
            {
            case "Exchange2007_SP1":
                service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
                break;

            case "Exchange2010":
                service = new ExchangeService(ExchangeVersion.Exchange2010);
                break;

            case "Exchange2010_SP1":
                service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
                break;

            default:
                service = new ExchangeService();
                break;
            }

            service.Credentials = new WebCredentials(userName, password, domain);
            String AccountUrl = userName + "@" + domain;

            if (serviceURL.Equals("Autodiscover"))
            {
                service.AutodiscoverUrl(AccountUrl);
            }
            else
            {
                service.Url = new Uri(serviceURL);
            }
            PropertySet  propSet = new PropertySet(BasePropertySet.FirstClassProperties, ItemSchema.MimeContent, EmailMessageSchema.IsRead);
            EmailMessage message = EmailMessage.Bind(service, emailID, propSet);

            getAttachments(message);

            if (message.HasAttachments)
            {
                response.Publish("Email Exported", message.Id.ToString());
                response.WithFiltering().PublishRange(getAttachments(message));
            }
            else
            {
                response.Publish("Email Exported", message.Id.ToString());
                response.WithFiltering().PublishRange(getAttachments(message));
            }
        }