Exemplo n.º 1
0
        protected override void ProcessRecord()
        {
            var details = new ServiceControlAuditNewInstance
            {
                InstallPath                = InstallPath,
                LogPath                    = LogPath,
                DBPath                     = DBPath,
                Name                       = Name,
                DisplayName                = string.IsNullOrWhiteSpace(DisplayName) ? Name : DisplayName,
                ServiceDescription         = Description,
                ServiceAccount             = ServiceAccount,
                ServiceAccountPwd          = ServiceAccountPassword,
                HostName                   = HostName,
                Port                       = Port,
                DatabaseMaintenancePort    = DatabaseMaintenancePort,
                AuditQueue                 = AuditQueue,
                AuditLogQueue              = string.IsNullOrWhiteSpace(AuditLogQueue) ? null : AuditLogQueue,
                ForwardAuditMessages       = ForwardAuditMessages.ToBool(),
                AuditRetentionPeriod       = AuditRetentionPeriod,
                ConnectionString           = ConnectionString,
                TransportPackage           = ServiceControlCoreTransports.All.First(t => t.Matches(Transport)),
                SkipQueueCreation          = SkipQueueCreation,
                ServiceControlQueueAddress = ServiceControlQueueAddress
            };

            var zipfolder = Path.GetDirectoryName(MyInvocation.MyCommand.Module.Path);
            var logger    = new PSLogger(Host);

            var installer = new UnattendAuditInstaller(logger, zipfolder);

            try
            {
                logger.Info("Installing Service Control Audit instance...");
                if (installer.Add(details, PromptToProceed))
                {
                    var instance = InstanceFinder.FindInstanceByName <ServiceControlAuditInstance>(details.Name);
                    if (instance != null)
                    {
                        WriteObject(PsAuditInstance.FromInstance(instance));
                    }
                    else
                    {
                        throw new Exception("Unknown error creating instance");
                    }
                }
            }
            catch (Exception ex)
            {
                ThrowTerminatingError(new ErrorRecord(ex, null, ErrorCategory.NotSpecified, null));
            }
        }
        protected override void ProcessRecord()
        {
            var logger    = new PSLogger(Host);
            var zipfolder = Path.GetDirectoryName(MyInvocation.MyCommand.Module.Path);
            var installer = new UnattendAuditInstaller(logger, zipfolder);

            foreach (var name in Name)
            {
                var instance = InstanceFinder.FindServiceControlInstance(name);
                if (instance == null)
                {
                    WriteWarning($"No action taken. An instance called {name} was not found");
                    break;
                }

                WriteObject(installer.Delete(instance.Name, RemoveDB.ToBool(), RemoveLogs.ToBool()));
            }
        }
        protected override void ProcessRecord()
        {
            var logger = new PSLogger(Host);

            var zipFolder = Path.GetDirectoryName(MyInvocation.MyCommand.Module.Path);
            var installer = new UnattendAuditInstaller(logger, zipFolder);

            foreach (var name in Name)
            {
                var instance = InstanceFinder.FindServiceControlInstance(name);
                if (instance == null)
                {
                    WriteWarning($"No action taken. An instance called {name} was not found");
                    break;
                }

                instance.SkipQueueCreation = SkipQueueCreation;

                if (!installer.Upgrade(instance))
                {
                    ThrowTerminatingError(new ErrorRecord(new Exception($"Upgrade of {instance.Name} failed"), "UpgradeFailure", ErrorCategory.InvalidResult, null));
                }
            }
        }