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)); } } }