Ejemplo n.º 1
0
        private static bool CheckNoMachineIsDomainController(MachineHealthContainer machineHealthContainer)
        {
            Parallel.ForEach(
                machineHealthContainer.GetHealthyMachineNames(),
                (string machineName) =>
            {
                bool result = true;
                try
                {
                    if (StandaloneUtility.IsMachineDomainController(machineName))
                    {
                        SFDeployerTrace.WriteError(StringResources.Error_BPAMachineIsDomainController, machineName);
                        result = false;
                    }
                }
                catch (System.ComponentModel.Win32Exception ex)
                {
                    SFDeployerTrace.WriteError(StringResources.Error_BPADomainControllerQueryException, machineName, ex.NativeErrorCode, ex.Message);
                    result = false;
                }

                if (!result)
                {
                    machineHealthContainer.MarkMachineAsUnhealthy(machineName);
                }
            });

            return(machineHealthContainer.EnoughHealthyMachines());
        }