Exemplo n.º 1
0
        public static string GetDisabledValueName(this RebootSource rebootSource)
        {
            if (rebootSource == null)
            {
                throw new ArgumentNullException(nameof(rebootSource));
            }
            switch (rebootSource.Value)
            {
            case RebootSource.CbsName: return("DisableRebootSourceComponentBasedServicing");

            case RebootSource.WuauName: return("DisableRebootSourceWindowsUpdate");

            case RebootSource.PendingFileRenameOperationsName: return("DisableRebootSourcePendingFileRenameOperations");

            case RebootSource.SccmClientName: return("DisableRebootSourceSccmClient");

            case RebootSource.JoinDomainName: return("DisableRebootSourceJoinDomain");

            case RebootSource.ComputerNameRenameName: return("DisableRebootSourceComputerNameRename");

            case RebootSource.RunOnceName: return("DisableRebootSourceRunOnce");

            default:
                throw new ArgumentException($"Invalid reboot source: {rebootSource.Value}");
            }
        }
Exemplo n.º 2
0
        public static bool IsDisabled(this RebootSource rebootSource)
        {
            var category          = typeof(CheckPendingRebootCommand).GetPolicyCategory();
            var disabledValueName = rebootSource.GetDisabledValueName();
            var isDisabled        = Profile.GetBooleanPolicyValue(Context.Machine, category, disabledValueName, false);

            if (isDisabled)
            {
                Logging.DefaultLogger.Debug($"Reboot source '{rebootSource}' is disabled");
            }
            return(isDisabled);
        }
Exemplo n.º 3
0
        public static PendingRebootInfo RemoveSource(this PendingRebootInfo org, RebootSource rebootSource)
        {
            if (org == null)
            {
                throw new ArgumentNullException(nameof(org));
            }
            var sources = org.Sources.Where(source => source.Value != rebootSource.Value).ToList();

            return(new PendingRebootInfo {
                RebootIsPending = sources.Count > 0, Sources = sources
            });
        }