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