internal static void PushCertificate(Task.TaskProgressLoggingDelegate writeProgress, Task.TaskWarningLoggingDelegate writeWarning, string thumbprint) { ITopologyConfigurationSession topologyConfigurationSession = DirectorySessionFactory.Default.CreateTopologyConfigurationSession(ConsistencyMode.PartiallyConsistent, ADSessionSettings.FromRootOrgScopeSet(), 324, "PushCertificate", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\FederationProvisioning\\FederationCertificate.cs"); Server sourceServer = null; try { sourceServer = topologyConfigurationSession.FindLocalServer(); } catch (LocalServerNotFoundException) { writeWarning(Strings.WarningPushFailed(thumbprint)); return; } FederationCertificate.PushCertificate(topologyConfigurationSession, sourceServer, writeProgress, writeWarning, thumbprint); }
private static void PushCertificate(ITopologyConfigurationSession session, Server sourceServer, Task.TaskProgressLoggingDelegate writeProgress, Task.TaskWarningLoggingDelegate writeWarning, string thumbprint) { SecureString securePassword = FederationCertificate.GeneratePassword(); FederationCertificate.EnableCertificateForNetworkService(sourceServer.Name, thumbprint); string base64cert = null; try { base64cert = FederationCertificate.ExportCertificate(sourceServer.Name, securePassword, thumbprint); } catch (InvalidOperationException) { writeWarning(Strings.WarningPushFailed(thumbprint)); return; } catch (LocalizedException) { writeWarning(Strings.WarningPushFailed(thumbprint)); return; } Dictionary <TopologySite, List <TopologyServer> > dictionary = null; TopologySite topologySite = null; FederationCertificate.DiscoverServers(session, true, out dictionary, out topologySite); if (topologySite != null) { List <TopologyServer> list; if (dictionary.TryGetValue(topologySite, out list)) { int count = list.Count; int num = 0; foreach (TopologyServer topologyServer in list) { int percent = (int)((double)(++num) / (double)count * 100.0); writeProgress(Strings.ProgressActivityPushFederationCertificate(thumbprint), Strings.ProgressActivityPushFederationServer(topologyServer.Name), percent); if (!topologyServer.Id.Equals(sourceServer.Id)) { try { FederationTrustCertificateState federationTrustCertificateState = FederationCertificate.TestForCertificate(topologyServer.Name, thumbprint); if (federationTrustCertificateState == FederationTrustCertificateState.NotInstalled) { FederationCertificate.ImportCertificate(topologyServer.Name, securePassword, base64cert); } if (federationTrustCertificateState != FederationTrustCertificateState.ServerUnreachable) { FederationCertificate.EnableCertificateForNetworkService(topologyServer.Name, thumbprint); } } catch (InvalidOperationException) { writeWarning(Strings.WarningPushCertificate(thumbprint, topologyServer.Name)); } catch (LocalizedException) { writeWarning(Strings.WarningPushCertificate(thumbprint, topologyServer.Name)); } } } } return; } writeWarning(Strings.WarningCannotGetLocalSite(thumbprint)); }
internal static void PushCertificate(Server sourceServer, Task.TaskProgressLoggingDelegate writeProgress, Task.TaskWarningLoggingDelegate writeWarning, string thumbprint) { ITopologyConfigurationSession session = DirectorySessionFactory.Default.CreateTopologyConfigurationSession(ConsistencyMode.PartiallyConsistent, ADSessionSettings.FromRootOrgScopeSet(), 354, "PushCertificate", "f:\\15.00.1497\\sources\\dev\\Management\\src\\Management\\FederationProvisioning\\FederationCertificate.cs"); FederationCertificate.PushCertificate(session, sourceServer, writeProgress, writeWarning, thumbprint); }
public TaskSeeder(SeedingTask seedingTask, Server server, Database database, Server sourceServer, Task.TaskVerboseLoggingDelegate writeVerbose, Task.TaskWarningLoggingDelegate writeWarning, Task.TaskErrorLoggingDelegate writeError, Task.TaskProgressLoggingDelegate writeProgress, Task.TaskShouldContinueDelegate shouldContinue, TaskSeeder.TaskIsStoppingDelegate stopping) { this.m_seedingTask = seedingTask; this.m_server = server; this.m_dbGuid = database.Guid; this.m_dbName = database.Name; this.m_isPublicDB = database.IsPublicFolderDatabase; this.m_sourceServer = sourceServer; this.m_writeVerbose = writeVerbose; this.m_writeWarning = writeWarning; this.m_writeError = writeError; this.m_writeProgress = writeProgress; this.m_shouldContinue = shouldContinue; this.m_stopping = stopping; this.m_taskName = this.GetTaskNameFromSeedingEnum(this.m_seedingTask); this.InitializeDefaultParameters(); this.m_seeder = SeederClient.Create(this.m_server, this.m_dbName, this.m_sourceServer); }
internal HaTaskOutputHelper(string taskName, Task.TaskErrorLoggingDelegate writeError, Task.TaskWarningLoggingDelegate writeWarning, Task.TaskVerboseLoggingDelegate writeVerbose, Task.TaskProgressLoggingDelegate writeProgress, int hashCode) { this.m_taskName = taskName; this.m_writeError = writeError; this.m_writeWarning = writeWarning; this.m_writeVerbose = writeVerbose; this.m_writeProgress = writeProgress; this.m_hashCode = hashCode; }