예제 #1
0
        public void Start()
        {
            //Make sure WUA Is up to Date
            WUA.Run();
            WUA.DisableAutomaticWindowsUpdates();
            _updateChecker.Enable(SendNewUpdatesHandler);

            //Disable Java, Adobe, Acrobat Updaters
            DisableUpdaters.DisableAll();
            //Check WSUS Status
            Logger.Log("WSUS enabled? {0}", LogLevel.Info, WSUS.IsWSUSEnabled());
            Logger.Log("WSUS address? {0}", LogLevel.Info, WSUS.GetServerWSUS);
            Logger.Log("Automatic updates Enabled? {0}", LogLevel.Info, WSUS.IsAutomaticUpdatesEnabled());
            try
            {
                var sysTimeZone = GetTimeZone.GetMyTimeZone();
                Logger.Log("Current time zone {0}, utc off set {1}.", LogLevel.Info, sysTimeZone.time_zone,
                           sysTimeZone.utc_offset);
            }
            catch
            {
                Logger.Log("Unable to obtain timezone.", LogLevel.Error);
            }

            switch (WSUS.GetAutomaticUpdatesOptions())
            {
            case WSUS.AutomaticUpdateStatus.AutomaticDownloadAndNotifyOfInstall:
                Logger.Log("Automatic updates setting? {0}", LogLevel.Info, "Automatic download and notify of install.");
                break;

            case WSUS.AutomaticUpdateStatus.AutomaticDownloadAndScheduleInstall:
                Logger.Log("Automatic updates setting? {0}", LogLevel.Info, "Automatic download and schedule install.");
                break;

            case WSUS.AutomaticUpdateStatus.AutomaticUpdatesIsRequiredAndUsersCanConfigureIt:
                Logger.Log("Automatic updates setting? {0}", LogLevel.Info, "Automatic updates is required and users can configure it.");
                break;

            case WSUS.AutomaticUpdateStatus.NotifyBeforeDownload:
                Logger.Log("Automatic updates setting? {0}", LogLevel.Info, "Notify before download.");
                break;

            default:
                Logger.Log("Automatic updates setting? {0}", LogLevel.Info, "Not set.");
                break;
            }

            //Check AntiMalware and Firewall Settings
            Logger.Log("Anti Spyware protection? {0}", LogLevel.Info, WindowsAntiSpyware.IsProtectionEnabled());
            Logger.Log("Windows firewall protection? {0}", LogLevel.Info, WindowsFirewall.IsProtectionEnabled());

            //Check if system is Windows 8 and Disable automatic restarts
            //after critical system updates are installed.
            RvUtils.Windows8AutoRestart(false);
        }