Re dell command update
Published: September 21, 2023 - 09:53
Good morning,
I would like to return to the previous topic regarding this package.
I fixed the audit function; a small indentation error had crept in. This error caused the audit to always display a WARNING message despite the service being correctly installed.
Furthermore, I've modified the installation process. It now performs a preliminary check to ensure the machine is indeed a Dell model before proceeding with the software installation. (Consider whether you want to keep this method; the other one also works.)
Flavien.
General information:
WAPT Server: Debian 11, version 2.4.0.14143, Enterprise Edition
Administration machine: Windows 11, WAPT version 2.4.0.14143
I would like to return to the previous topic regarding this package.
I fixed the audit function; a small indentation error had crept in. This error caused the audit to always display a WARNING message despite the service being correctly installed.
Code: Select all
def audit():
audit_status = "OK"
service_name = "DellClientManagementService"
service_start_mode = get_service_start_mode(service_name)
if service_start_mode in ["Disabled", "Manual"]:
print(f"{service_name} service is stopped and prevents the application from working properly.")
audit_status = "ERROR"
elif not service_installed(service_name):
print(f"{service_name} service does not exist.")
audit_status = "ERROR"
else:
if service_is_running(service_name):
print(f"{service_name} service is working properly.")
else:
print(f"{service_name} service is not running.")
audit_status = "WARNING" # The indent error was here :D
return audit_status
Code: Select all
def install():
def get_system_manufacturer():
return registry_readstring(HKEY_LOCAL_MACHINE, "SYSTEM\HardwareConfig\Current", "SystemManufacturer") # Ex: Dell Inc.
# Declaring local variables
bin_name = glob.glob("Dell-Command-Update-Windows-Universal-Application_*.EXE")[0]
if "Dell" not in get_system_manufacturer():
print(f"WARNING: {control.name} can only be installed on a Dell System! The installation will be ignored.")
return
# Installing the software
print("Installing: %s" % bin_name)
install_exe_if_needed(
bin_name,
silentflags="/s /factoryinstall",
name="Dell Command | Update",
min_version=control.get_software_version(),
timeout=900,
)
# Disabling telemetry
registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\Settings\General", "UserConsentDefault", 0)
registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\CFG", "ShowSetupPopup", 0)
# Download updates (notify when ready)
# registry_set(
# HKEY_LOCAL_MACHINE, r"SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\Settings\Schedule", "AutomationMode", "ScanDownloadNotify"
# )
# registry_set(
# HKEY_LOCAL_MACHINE, r"SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\Settings\Schedule", "ScheduleMode",
# "Auto"
# )
# Manual updates only
registry_set(
HKEY_LOCAL_MACHINE, r"SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\Settings\Schedule", "ScheduleMode",
"ManualUpdates"
)
# Disable notification
registry_set(
HKEY_LOCAL_MACHINE, r"SOFTWARE\DELL\UpdateService\Clients\CommandUpdate\Preferences\Settings\Schedule", "DisableNotification", 1
)
General information:
WAPT Server: Debian 11, version 2.4.0.14143, Enterprise Edition
Administration machine: Windows 11, WAPT version 2.4.0.14143