diff --git a/New-ToastNotification.ps1 b/New-ToastNotification.ps1 index 5ebd36c..9a81442 100644 --- a/New-ToastNotification.ps1 +++ b/New-ToastNotification.ps1 @@ -1,87 +1,87 @@ -<# -.SYNOPSIS - Create nice toast notifications for the logged on user in Windows 10. - -.DESCRIPTION - Everything is customizeable through config-toast.xml. - Config-toast.xml can be locally, hosted online in blob storage or set to an UNC path with the -Config parameter. - This way you can quickly modify the configuration without the need to push new files to the computer running the toast. - Can be used for improving the numbers in Windows Servicing as well as kindly reminding users of pending reboots (and a bunch of other use cases as well). - All actions are logged to a local log file in AppData\Roaming\ToastNotificationScript\New-ToastNotification.log. - -.PARAMETER Config - Specify the path for the config.xml. If none is specified, the script uses the local config.xml - -.NOTES - Filename: New-ToastNotification.ps1 - Version: 2.1.0 - Author: Martin Bengtsson - Blog: www.imab.dk - Twitter: @mwbengtsson - - Version history: - - 1.0 - Script created - - 1.1 - Separated checks for pending reboot in registry/WMI from OS uptime. - More checks for conflicting options in config.xml. - The content of the config.xml is now imported with UTF-8 encoding enabling other characters to be used in the text boxes. - - 1.2 - Added option for personal greeting using given name retrieved from Active Directory. If no AD available, the script will use a placeholder. - Added ToastReboot protocol example, enabling the toast to carry out a potential reboot. - - 1.3 - All text elements in the toast notification is now customizeable through the config.xml - Expanded the options for finding given name. Now also looking in WMI if no local AD is available. - Added Get-WindowsVersion function: Testing for supported Windows version - Added Test-WindowsPushNotificationsEnabled function: Testing for OS toast blockers - Added some more detailed logging - Added contributions from @SuneThomsenDK @ https://www.osdsune.com - - Date formatting in deadline group - - Fixed a few script errors - - More text options - - 1.4 - Added new feature for checking for local active directory password expiration. - If the password is about to expire (days configured in config.xml), the toast notification will display reminding the users to change their password - - 1.4.1 - Get-ADPasswordExpiration function modified to not requiring the AD Powershell module. Thank you @ Andrew Wells :-) - Improved logging for when no toast notifications are displayed - More commenting - - 1.4.2 - Bug fixes to the date formatting of ADPasswordExpiration now correctly supporting different cultures - - 1.4.3 - Some minor corrections to the get-givenname function when retreiving first name from WMI and registry - Moved the default location for New-ToastNotification.log file to the user's profile - Added contribution from @kevmjohnston @ https://ccmcache.wordpress.com - - Added function for retrieving deadline date and time dynamically in WMI with ConfigMgr - - 1.5 - Added new option to run task sequences (PackageID) directly from the toast notification action button. Enable the option in the config.xml - Fixed a few script errors when running the script on a device without ConfigMgr client - - 1.6 - Added new option to run applications (ApplicationID) directly from the toast notification action button. Enable the option in the config.xml - Created Display-ToastNotification function - - Displaying the toast notification as been trimmed and merged into its own function - Created Test-NTsystem function - - Testing if the script is being run as SYSTEM. This is not supported - Converted all Get-WMIObject to Get-CimInstance - - Get-WMIObject has been deprecated and is replaced with Get-CimInstance - - 1.7 - Added multilanguage support. Thank you Matt Benninge @matbe - - Script and config files now support multiple languages - - Note that old config xml files needs to be updated to support this - - Moved text values from option to the text-section for consistency - - 1.7.1 - Added 2 new options (LogoImageName and HeroImageName) to the config file, allowing switching of images more easily and dynamically - - 1.8.0 - Added support for using Windows 10 Toast Notification Script with Endpoint Analytics Proactive Remediation - - Added support for having config.xml file hosted online - - Added support for having images used in the script hosted online - - - ** Most of the work done in version 2.0.0 is done by Chad Brower // @Brower_Cha on Twitter ** - ** I have added the additional protocols/scripts and rewritten some minor things ** - ** As well as added support for dynamic deadline retrieval for software updates ** - ** Stuff has been rewritten to suit my understanding and thoughts of the script ** - +<# +.SYNOPSIS + Create nice toast notifications for the logged on user in Windows 10. + +.DESCRIPTION + Everything is customizeable through config-toast.xml. + Config-toast.xml can be locally, hosted online in blob storage or set to an UNC path with the -Config parameter. + This way you can quickly modify the configuration without the need to push new files to the computer running the toast. + Can be used for improving the numbers in Windows Servicing as well as kindly reminding users of pending reboots (and a bunch of other use cases as well). + All actions are logged to a local log file in AppData\Roaming\ToastNotificationScript\New-ToastNotification.log. + +.PARAMETER Config + Specify the path for the config.xml. If none is specified, the script uses the local config.xml + +.NOTES + Filename: New-ToastNotification.ps1 + Version: 2.1.0 + Author: Martin Bengtsson + Blog: www.imab.dk + Twitter: @mwbengtsson + + Version history: + + 1.0 - Script created + + 1.1 - Separated checks for pending reboot in registry/WMI from OS uptime. + More checks for conflicting options in config.xml. + The content of the config.xml is now imported with UTF-8 encoding enabling other characters to be used in the text boxes. + + 1.2 - Added option for personal greeting using given name retrieved from Active Directory. If no AD available, the script will use a placeholder. + Added ToastReboot protocol example, enabling the toast to carry out a potential reboot. + + 1.3 - All text elements in the toast notification is now customizeable through the config.xml + Expanded the options for finding given name. Now also looking in WMI if no local AD is available. + Added Get-WindowsVersion function: Testing for supported Windows version + Added Test-WindowsPushNotificationsEnabled function: Testing for OS toast blockers + Added some more detailed logging + Added contributions from @SuneThomsenDK @ https://www.osdsune.com + - Date formatting in deadline group + - Fixed a few script errors + - More text options + + 1.4 - Added new feature for checking for local active directory password expiration. + If the password is about to expire (days configured in config.xml), the toast notification will display reminding the users to change their password + + 1.4.1 - Get-ADPasswordExpiration function modified to not requiring the AD Powershell module. Thank you @ Andrew Wells :-) + Improved logging for when no toast notifications are displayed + More commenting + + 1.4.2 - Bug fixes to the date formatting of ADPasswordExpiration now correctly supporting different cultures + + 1.4.3 - Some minor corrections to the get-givenname function when retreiving first name from WMI and registry + Moved the default location for New-ToastNotification.log file to the user's profile + Added contribution from @kevmjohnston @ https://ccmcache.wordpress.com + - Added function for retrieving deadline date and time dynamically in WMI with ConfigMgr + + 1.5 - Added new option to run task sequences (PackageID) directly from the toast notification action button. Enable the option in the config.xml + Fixed a few script errors when running the script on a device without ConfigMgr client + + 1.6 - Added new option to run applications (ApplicationID) directly from the toast notification action button. Enable the option in the config.xml + Created Display-ToastNotification function + - Displaying the toast notification as been trimmed and merged into its own function + Created Test-NTsystem function + - Testing if the script is being run as SYSTEM. This is not supported + Converted all Get-WMIObject to Get-CimInstance + - Get-WMIObject has been deprecated and is replaced with Get-CimInstance + + 1.7 - Added multilanguage support. Thank you Matt Benninge @matbe + - Script and config files now support multiple languages + - Note that old config xml files needs to be updated to support this + - Moved text values from option to the text-section for consistency + + 1.7.1 - Added 2 new options (LogoImageName and HeroImageName) to the config file, allowing switching of images more easily and dynamically + + 1.8.0 - Added support for using Windows 10 Toast Notification Script with Endpoint Analytics Proactive Remediation + - Added support for having config.xml file hosted online + - Added support for having images used in the script hosted online + + + ** Most of the work done in version 2.0.0 is done by Chad Brower // @Brower_Cha on Twitter ** + ** I have added the additional protocols/scripts and rewritten some minor things ** + ** As well as added support for dynamic deadline retrieval for software updates ** + ** Stuff has been rewritten to suit my understanding and thoughts of the script ** + 2.0.0 - Huge changes to how this script handles custom protocols Added Support for Custom Actions/Protocols within the script under user context removing the need for that to be run under SYSTEM/ADMIN -