Пример #1
0
        public static DeploymentResult GrantMsmqPermission(this RemoteDropkickExecutionTask remoteTask, QueuePermission permission, QueueAddress address, string @group)
        {
            string perm;

            switch (permission)
            {
            case QueuePermission.Read:
                perm = "r";
                break;

            case QueuePermission.Write:
                perm = "w";
                break;

            case QueuePermission.ReadWrite:
                perm = "rw";
                break;

            case QueuePermission.SetSensibleDefaults:
                perm = "default";
                break;

            default:
                perm = "r";
                break;
            }

            var t = remoteTask.SetUpRemote("grant_queue {0} {1} {2}".FormatWith(perm, @group, address.ActualUri));

            return(remoteTask.ExecuteAndGetResults(t));
        }
        public override DeploymentResult Execute()
        {
            var result = new DeploymentResult();

            Logging.Coarse("[msmq][remote] Setting permission for '{0}' on remote queue '{1}'.", _group, _address.ActualUri);

            using (var remote = new RemoteDropkickExecutionTask(_server))
            {
                remote.GrantMsmqPermission(QueuePermission.ReadWrite, _address, _group);
            }

            return(result);
        }
        public override DeploymentResult Execute()
        {
            var result = new DeploymentResult();

            Logging.Coarse("[msmq][remote] Setting '{0}' access rights for '{1}' on local queue '{2}'", _accessRights, _user, _address.ActualUri);

            using (var remote = new RemoteDropkickExecutionTask(_server))
            {
                remote.GrantMsmqAccessRights(_accessRights, _address, _user);
            }

            return result;
        }
Пример #4
0
        public override DeploymentResult Execute()
        {
            var result = new DeploymentResult();

            Logging.Coarse("[msmq][remote] Setting '{0}' access rights for '{1}' on local queue '{2}'", _accessRights, _user, _address.ActualUri);

            using (var remote = new RemoteDropkickExecutionTask(_server))
            {
                remote.GrantMsmqAccessRights(_accessRights, _address, _user);
            }

            return(result);
        }
Пример #5
0
        public override DeploymentResult Execute()
        {
            var result = new DeploymentResult();

            VerifyInAdministratorRole(result);

            using (var remote = new RemoteDropkickExecutionTask(_server))
            {
                //capture output
                var vresult = remote.CreateQueue(Address, _transactional);
            }

            return(result);
        }
Пример #6
0
        public override DeploymentResult VerifyCanRun()
        {
            var result = new DeploymentResult();

            VerifyInAdministratorRole(result);

            using (var remote = new RemoteDropkickExecutionTask(_server))
            {
                //capture output
                var vresult = remote.VerifyQueueExists(Address);
            }

            return(result);
        }
Пример #7
0
        void ProcessRemoteQueue(DeploymentResult result)
        {
            VerifyInAdministratorRole(result);

            Logging.Coarse("[msmq][remote] Setting default permissions on remote queue '{0}'.", _address.ActualUri);

            using (var remote = new RemoteDropkickExecutionTask(_server))
            {
                var vresult = remote.GrantMsmqPermission(QueuePermission.SetSensibleDefaults, _address, WellKnownSecurityRoles.Administrators);
                foreach (var r in vresult)
                {
                    result.Add(r);
                }
            }
        }
Пример #8
0
        void ProcessRemoteQueue(DeploymentResult result)
        {
            VerifyInAdministratorRole(result);
            Logging.Coarse("[msmq][remote] Setting permission for '{0}' on remote queue '{1}'.", _group, _address.ActualUri);

            using (var remote = new RemoteDropkickExecutionTask(_server))
            {
                //capture output
                var vresult = remote.GrantMsmqPermission(QueuePermission.Write, _address, _group);
                foreach (var r in vresult)
                {
                    result.Add(r);
                }
            }
        }
Пример #9
0
        public void ExecuteRemoteTask(DeploymentResult result)
        {
            LogSecurity("[remote][security][cert] Granting READ to X509 Certificate's private key for thumbprint '{0}' on '{1}'.", _thumbprint, _server.Name);

            using (var remote = new RemoteDropkickExecutionTask(_server))
            {
                StringBuilder sentGroups = new StringBuilder();
                sentGroups.Append("|");
                foreach (string group in _groups)
                {
                    sentGroups.Append("{0}|".FormatWith(group));
                }

                var vresult = remote.GrantReadCertificatePrivateKey(sentGroups.ToString(), _thumbprint, _storeName.ToString(), _storeLocation.ToString());
                foreach (var r in vresult)
                {
                    result.Add(r);
                }
            }
        }
Пример #10
0
        public static DeploymentResult VerifyQueueExists(this RemoteDropkickExecutionTask remoteTask, QueueAddress path)
        {
            var t = remoteTask.SetUpRemote("verify_queue {0}".FormatWith(path.ActualUri));

            return(remoteTask.ExecuteAndGetResults(t));
        }
Пример #11
0
        public static DeploymentResult CreateQueue(this RemoteDropkickExecutionTask remoteTask, QueueAddress path, bool transactional = false)
        {
            var t = remoteTask.SetUpRemote("create_queue {0} {1}".FormatWith(path.ActualUri, transactional));

            return(remoteTask.ExecuteAndGetResults(t));
        }
Пример #12
0
        public static DeploymentResult GrantReadCertificatePrivateKey(this RemoteDropkickExecutionTask remoteTask, string group, string thumbprint, string storeName, string storeLocation)
        {
            var t = remoteTask.SetUpRemote("grant_cert r \"{0}\" \"{1}\" \"{2}\" \"{3}\"".FormatWith(group, thumbprint.Trim().Replace(" ", ""), storeName, storeLocation));

            return(remoteTask.ExecuteAndGetResults(t));
        }
        public void ExecuteRemoteTask(DeploymentResult result)
        {
            LogSecurity("[remote][security][cert] Granting READ to X509 Certificate's private key for thumbprint '{0}' on '{1}'.", _thumbprint,_server.Name);

            using (var remote = new RemoteDropkickExecutionTask(_server))
            {
                StringBuilder sentGroups = new StringBuilder();
                sentGroups.Append("|");
                foreach (string group in _groups)
                {
                    sentGroups.Append("{0}|".FormatWith(group));
                }

                var vresult = remote.GrantReadCertificatePrivateKey(sentGroups.ToString(), _thumbprint, _storeName.ToString(), _storeLocation.ToString());
                foreach (var r in vresult) result.Add(r);
            }
        }
Пример #14
0
        public static DeploymentResult GrantMsmqAccessRights(this RemoteDropkickExecutionTask remoteTask, MessageQueueAccessRights accessRights, QueueAddress address, string @group)
        {
            var t = remoteTask.SetUpRemote("grant_queue {0} \"{1}\" {2}".FormatWith((int)accessRights, @group, address.ActualUri));

            return(remoteTask.ExecuteAndGetResults(t));
        }