Skip to content

DavidGeeraerts/module_utility_Dell_Command_Update

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License Github latest release Platform

module_utility_Dell_Command_Update

Wrapper module for Dell Command Update.

🎡 Features

  • Intelligent wrapper for installing and running Dell Command Update
  • Program will install Dell Command Update if not present.
  • Checks local network file share repository for package.
  • If fetching from Dell website, parses for the latest version.
  • Checks if system is Dell
  • Uses Wget to download package.
  • Installs Chocolatey package manager if Wget not installed.
  • Uses Winget if Chocolatey isn't available
  • Checks if running with administrative privilege
  • Local log
  • Log shipping to log server

Usage

The wrapper is meant to facilitate large scale deployment and management. Though the program can be run manually on individual machines, it's standard practice to:

  • Add modules to a playbook
  • Use a deployment tool such as PsExec/PsExec64 for large scale deployment and management.

⚠️ if using PsExec for large scale management, don't use -e switch!

-e Can cause issues if a program is using user variables such as %temp%. Since Dell-Command-Update using it's -outputlog= doesn't like the log path, it's using the %TEMP% variable [-outputlog="%temp%\DCU_SCAN.log"], which is a user variable (in this context).

Use the following PsExec switch SET "$SWITCH=-h -i -d -c -f -n 10"

🔧 Configuration

  • 🎁 Change $DCU_PACKAGE to latest package
  • If there's a local software repository, configure: $LOCAL_REPO e.g. SET $LOCAL_REPO=\\Server\Share
  • 📡 If there's a log server on the network, configure: $LOG_SHIPPING e.g. SET "$LOG_SHIPPING=\\Server\Share"

🆕 Latest URI

SET "$DCU_PACKAGE=Dell-Command-Update-Windows-Universal-Application_1WR6C_WIN_5.0.0_A00.EXE"

🔗 SET "$URI_PACKAGE=https://dl.dell.com/FOLDER10408436M/1/%$DCU_PACKAGE%"

:: Local Network Repository

:: \\Server\Share

SET $LOCAL_REPO=

:: Log settings

:: Advise local storage for logging.

:: Log Directory

SET "$LOG_D=%Public%\Logs\%$SCRIPT_NAME%"

:: default log file name.

SET "$LOG_FILE=%COMPUTERNAME%_%$SCRIPT_NAME%.log"

:: Log Shipping

:: Advise network file share location

:: \\Server\Share

SET "$LOG_SHIPPING="

📆 ToDo

  • ✅ ChangeLog
  • 🔲 Provide configuration for scheduled task