github PSAppDeployToolkit/PSAppDeployToolkit 3.10.0
PSAppDeployToolkit 3.10.0

latest release: 3.10.1
one month ago

Version 3.10.0 [03/27/2024]

  • Added the ability to configure Microsoft Edge Extensions using ExtensionSettings. Function: Configure-EdgeExtensions. This enables Edge Extensions to be installed and managed like applications, enabling extensions to be pushed to specific devices or users alongside existing GPO/Intune extension policies. This should not be used in conjunction with Edge Management Service which leverages the same registry key to configure Edge extensions.
  • Added the ability to copy the Toolkit folder and files to a cache folder on the local machine and execute from there.
    • Functions: Copy-ContentToCache and Remove-ContentFromCache. The cache path can be configured in the config.xml file, default is $envProgramData\SoftwareCache. When Copy-ContentToCache is used, $dirFiles is updated to point to the local cache path.
  • Added the ability to copy files to all user profiles.
    • Functions: Copy-FileToUserProfiles and Remove-FileFromUserProfiles
  • Changed Copy-File to use Robocopy by default, overcoming the 260-character limitation of native PowerShell Copy-Item and providing more comprehensive file copy functionality and logging. This can be toggled off in the config.xml file by setting Toolkit_UseRobocopy = $false
  • Added Log File Rotation
  • Added VSCode workspace with default settings for PowerShell code formatting, default version (Windows PowerShell) and PSScriptAnalyzer linting.
  • Added ability to position progress dialogs to 'TopLeft', 'Top', 'TopRight', 'TopCenter', 'BottomLeft', 'Bottom', 'BottomRight'
  • Added -Wow6432Node switches for 32-bit registry support to all registry functions.
  • Improved all user interface components to work correctly in High DPI mode.
  • Improved all images and icons for brand consistency and double the resolution for High DPI mode.
  • Improved Get-RunningProcesses function, reducing complexity and improving performance
  • Improved Russian (RU) translations PR #843
  • Improved German (DE) translations PR #854
  • Added translations for many missing strings across a number of different languages. Thanks to ChatGPT for being an XML workhorse :)
  • Added shortcut keys for UI buttons - Alt-D for Defer, Alt-P for Close Programs, Alt-C for Continue
  • Fixed issue with Execute-MSI adding "Transforms" Parameters to uninstall Command Line #828
  • Resolved an issue where ConvertTo-NTAccountOrSID would throw an error when attempting to convert orphaned accounts, a warning is now displayed rather than an error. #865
  • Resolved an issue where if WindowStyle parameter is set to 'Hidden', then the UseShellExecute parameter to should be set to '$true' #678
  • Resolved an issue with how Set-ActiveSetup comma-separated version strings were compared to determine which was greater #743
  • Resolved an issue where $IsMultiSessionOS did not return true for Windows 11 Enterprise Multi-Session #807
  • Improved detection of OOBE / ESP
  • Improved documentation of Set-ActiveSetup function.
  • Resolved an issue where Execute-ProcessAsUser ran into issue when called multiple times because it overwrote files from previous invocation #333
  • Resolved an issue where Get-LoggedOnUser choose the wrong user session on Windows multi-session workstation operating systems #863
  • Improved Execute-Process with a useful example #835
  • Improved Execute-MSI so that all repetitive references to .log or .txt file extension in $LogName variable are all removed #759
  • Improved Get-HardwarePlatform to add support for detecting Parallels virtual machines #838
  • Improved Execute-ProcessAsUser and how it parses and executes command-line arguments. #794 #894 #782 #762 #851
  • Improved setup for $ResolveParameters (uses proper filter and piping, supports arrays and dictionaries) #874
  • Improved setup for setting $ScriptSource in Write-Log.
  • Improve $envOffice variable setup by reducing the number of Get-ItemProperty calls.
  • Factor in GPO-configured UpdateChannel property vs. CDNBaseURL property for $envOfficeChannel. #837
  • Add "monthly enterprise" UUID to $envOfficeChannel setup.
  • Changed when dot-sourcing of AppDeployToolkitExtensions occurs, so that use of custom functions can make use of UI elements, e.g. displaying a progress dialog.
  • Improved overall codebase for better compliance with Strict Mode.
  • Improved use of arrays throughout in order to improve performance.
  • Improved threat safety when using thread on user interface elements should result in fewer issues with progress dialogs.
  • Fixed UI message strings being incorrectly spaced on screen.

Thank you for your contributions!

Full Changelog: 3.9.3...3.10.0

Don't miss a new PSAppDeployToolkit release

NewReleases is sending notifications on new releases.