Add files via upload

This commit is contained in:
Martin Bengtsson 2021-12-08 12:19:05 +01:00 committed by GitHub
parent f8550b823f
commit 096308346a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 128 additions and 24 deletions

View file

@ -14,7 +14,7 @@
.NOTES .NOTES
Filename: New-ToastNotification.ps1 Filename: New-ToastNotification.ps1
Version: 2.2.0 Version: 2.3.0
Author: Martin Bengtsson Author: Martin Bengtsson
Blog: www.imab.dk Blog: www.imab.dk
Twitter: @mwbengtsson Twitter: @mwbengtsson
@ -132,6 +132,12 @@
- This has proven to only work with packages/programs/task sequences and when testing with psexec. - This has proven to only work with packages/programs/task sequences and when testing with psexec.
- Running the script in SYSTEM, with the script feature in configmgr and proactive remediations in Intune, still yields unexpected results - Running the script in SYSTEM, with the script feature in configmgr and proactive remediations in Intune, still yields unexpected results
2.3.0 - Added the Register-CustomNotificationApp function
- This function retrieves the value of the CustomNotificationApp option from the config.xml
- The function then uses this name, to create a custom app for doing the notification.
- This will reflect in the shown toast notification, instead of Software Center or PowerShell
- This also creates the custom notifcation app with a prevention from disabling the toast notifications via the UI
.LINK .LINK
https://www.imab.dk/windows-10-toast-notification-script/ https://www.imab.dk/windows-10-toast-notification-script/
#> #>
@ -1448,11 +1454,53 @@ function Save-NotificationLastRunTime() {
Set-ItemProperty -Path $global:RegistryPath -Name LastRunTime -Value $RunTime -Force | Out-Null Set-ItemProperty -Path $global:RegistryPath -Name LastRunTime -Value $RunTime -Force | Out-Null
} }
} }
# Create function to register custom notification app
# Added in version 2.3.0
# Bits and pieces kindly borrowed from Mr. Trevor Jones: smsagent.blog
function Register-CustomNotificationApp($fAppID,$fAppDisplayName) {
Write-Log -Message "Running Register-NotificationApp function"
$AppID = $fAppID
$AppDisplayName = $fAppDisplayName
# This removes the option to disable to toast notification
[int]$ShowInSettings = 0
# Adds an icon next to the display name of the notifyhing app
[int]$IconBackgroundColor = 0
$IconUri = "%SystemRoot%\ImmersiveControlPanel\images\logo.png"
# Moved this into HKCU, in order to modify this directly from the toast notification running in user context
$AppRegPath = "HKCU:\Software\Classes\AppUserModelId"
$RegPath = "$AppRegPath\$AppID"
try {
if (-NOT(Test-Path $RegPath)) {
New-Item -Path $AppRegPath -Name $AppID -Force | Out-Null
}
$DisplayName = Get-ItemProperty -Path $RegPath -Name DisplayName -ErrorAction SilentlyContinue | Select -ExpandProperty DisplayName -ErrorAction SilentlyContinue
if ($DisplayName -ne $AppDisplayName) {
New-ItemProperty -Path $RegPath -Name DisplayName -Value $AppDisplayName -PropertyType String -Force | Out-Null
}
$ShowInSettingsValue = Get-ItemProperty -Path $RegPath -Name ShowInSettings -ErrorAction SilentlyContinue | Select -ExpandProperty ShowInSettings -ErrorAction SilentlyContinue
if ($ShowInSettingsValue -ne $ShowInSettings) {
New-ItemProperty -Path $RegPath -Name ShowInSettings -Value $ShowInSettings -PropertyType DWORD -Force | Out-Null
}
$IconUriValue = Get-ItemProperty -Path $RegPath -Name IconUri -ErrorAction SilentlyContinue | Select -ExpandProperty IconUri -ErrorAction SilentlyContinue
if ($IconUriValue -ne $IconUri) {
New-ItemProperty -Path $RegPath -Name IconUri -Value $IconUri -PropertyType ExpandString -Force | Out-Null
}
$IconBackgroundColorValue = Get-ItemProperty -Path $RegPath -Name IconBackgroundColor -ErrorAction SilentlyContinue | Select -ExpandProperty IconBackgroundColor -ErrorAction SilentlyContinue
if ($IconBackgroundColorValue -ne $IconBackgroundColor) {
New-ItemProperty -Path $RegPath -Name IconBackgroundColor -Value $IconBackgroundColor -PropertyType ExpandString -Force | Out-Null
}
Write-Log "Created registry entries for custom notification app: $fAppDisplayName"
}
catch {
Write-Log -Message "Failed to create one or more registry entries for the custom notification app" -Level Error
Write-Log -Message "Toast Notifications are usually not displayed if the notification app does not exist" -Level Error
}
}
#endregion #endregion
#region Variables #region Variables
# Setting global script version # Setting global script version
$global:ScriptVersion = "2.2.0" $global:ScriptVersion = "2.3.0"
# Setting executing directory # Setting executing directory
$global:ScriptPath = Split-Path -Parent $MyInvocation.MyCommand.Definition $global:ScriptPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
# Setting global custom action script location # Setting global custom action script location
@ -1620,6 +1668,10 @@ if(-NOT[string]::IsNullOrEmpty($Xml)) {
$RunUpdateIDValue = $Xml.Configuration.Option | Where-Object {$_.Name -like 'RunUpdateID'}| Select-Object -ExpandProperty 'Value' $RunUpdateIDValue = $Xml.Configuration.Option | Where-Object {$_.Name -like 'RunUpdateID'}| Select-Object -ExpandProperty 'Value'
$RunUpdateTitleEnabled = $Xml.Configuration.Option | Where-Object {$_.Name -like 'RunUpdateTitle'} | Select-Object -ExpandProperty 'Enabled' $RunUpdateTitleEnabled = $Xml.Configuration.Option | Where-Object {$_.Name -like 'RunUpdateTitle'} | Select-Object -ExpandProperty 'Enabled'
$RunUpdateTitleValue = $Xml.Configuration.Option | Where-Object {$_.Name -like 'RunUpdateTitle'} | Select-Object -ExpandProperty 'Value' $RunUpdateTitleValue = $Xml.Configuration.Option | Where-Object {$_.Name -like 'RunUpdateTitle'} | Select-Object -ExpandProperty 'Value'
# Custom app doing the notification
# Added in version 2.3.0
$CustomAppEnabled = $Xml.Configuration.Option | Where-Object {$_.Name -like 'CustomNotificationApp'} | Select-Object -ExpandProperty 'Enabled'
$CustomAppValue = $Xml.Configuration.Option | Where-Object {$_.Name -like 'CustomNotificationApp'} | Select-Object -ExpandProperty 'Value'
$SCAppName = $Xml.Configuration.Option | Where-Object {$_.Name -like 'UseSoftwareCenterApp'} | Select-Object -ExpandProperty 'Name' $SCAppName = $Xml.Configuration.Option | Where-Object {$_.Name -like 'UseSoftwareCenterApp'} | Select-Object -ExpandProperty 'Name'
$SCAppStatus = $Xml.Configuration.Option | Where-Object {$_.Name -like 'UseSoftwareCenterApp'} | Select-Object -ExpandProperty 'Enabled' $SCAppStatus = $Xml.Configuration.Option | Where-Object {$_.Name -like 'UseSoftwareCenterApp'} | Select-Object -ExpandProperty 'Enabled'
$PSAppName = $Xml.Configuration.Option | Where-Object {$_.Name -like 'UsePowershellApp'} | Select-Object -ExpandProperty 'Name' $PSAppName = $Xml.Configuration.Option | Where-Object {$_.Name -like 'UsePowershellApp'} | Select-Object -ExpandProperty 'Name'
@ -1743,11 +1795,23 @@ if (($SCAppStatus -eq "True") -AND ($PSAppStatus -eq "True")) {
Write-Log -Level Error -Message "Error. You can't have both SoftwareCenter app set to True AND PowershellApp set to True at the same time. Check your config" Write-Log -Level Error -Message "Error. You can't have both SoftwareCenter app set to True AND PowershellApp set to True at the same time. Check your config"
Exit 1 Exit 1
} }
if (($SCAppStatus -ne "True") -AND ($PSAppStatus -ne "True")) { if (($SCAppStatus -ne "True") -AND ($PSAppStatus -ne "True") -AND ($CustomAppEnabled -ne "True")) {
Write-Log -Level Error -Message "Error. Conflicting selection in the $Config file" Write-Log -Level Error -Message "Error. Conflicting selection in the $Config file"
Write-Log -Level Error -Message "Error. You need to enable at least 1 app in the config doing the notification. ie. Software Center or Powershell. Check your config" Write-Log -Level Error -Message "Error. You need to enable at least 1 app in the config doing the notification. ie. Software Center or Powershell. Check your config"
Exit 1 Exit 1
} }
# Added in 2.3.0
if (($SCAppStatus -eq "True") -AND ($CustomAppEnabled -eq "True")) {
Write-Log -Level Error -Message "Error. Conflicting selection in the $Config file"
Write-Log -Level Error -Message "Error. You can't have both SoftwareCenter app set to True AND CustomNotificationApp set to True at the same time. Check your config"
Exit 1
}
if (($CustomAppEnabled -eq "True") -AND ($PSAppStatus -eq "True")) {
Write-Log -Level Error -Message "Error. Conflicting selection in the $Config file"
Write-Log -Level Error -Message "Error. You can't have both PowerShell app set to True AND CustomNotificationApp set to True at the same time. Check your config"
Exit 1
}
if (($UpgradeOS -eq "True") -AND ($PendingRebootUptimeTextEnabled -eq "True")) { if (($UpgradeOS -eq "True") -AND ($PendingRebootUptimeTextEnabled -eq "True")) {
Write-Log -Level Error -Message "Error. Conflicting selection in the $Config file" Write-Log -Level Error -Message "Error. Conflicting selection in the $Config file"
Write-Log -Level Error -Message "Error. You can't have UpgradeOS set to True and PendingRebootUptimeText set to True at the same time. Check your config" Write-Log -Level Error -Message "Error. You can't have UpgradeOS set to True and PendingRebootUptimeText set to True at the same time. Check your config"
@ -1895,6 +1959,14 @@ if (($SnoozeButtonEnabled -eq "True") -AND ($ADPasswordExpirationTextEnabled -eq
Write-Log -Level Error -Message "That will result in too much text and the toast notification will render without buttons. Check your config" Write-Log -Level Error -Message "That will result in too much text and the toast notification will render without buttons. Check your config"
Exit 1 Exit 1
} }
# Added in 2.3.0
# This option enables you to create a custom app doing the notification.
# This also completely prevents the user from disabling the toast from within the UI (can be done with registry editing, if one knows how)
if ($CustomAppEnabled -eq "True") {
# Hardcoding the AppID. Only the display name is interesting, thus this comes from the config.xml
$App = "Toast.Custom.App"
Register-CustomNotificationApp -fAppID $App -fAppDisplayName $CustomAppValue
}
# Added in version 2.2.0 # Added in version 2.2.0
# This option is able to prevent multiple toast notification from being displayed in a row # This option is able to prevent multiple toast notification from being displayed in a row
@ -2033,6 +2105,32 @@ if ($PendingRebootUptime -eq "True") {
Write-Log -Message "PendingRebootUptime set to True. Checking for device uptime. Current uptime is: $Uptime days" Write-Log -Message "PendingRebootUptime set to True. Checking for device uptime. Current uptime is: $Uptime days"
} }
# Check for required entries in registry for when using Custom App as application for the toast
if ($CustomAppEnabled -eq "True") {
# Path to the notification app doing the actual toast
$RegPath = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings"
# For clarity, declaring the App variables once again
$App = "Toast.Custom.App"
# Creating registry entries if they don't exists
if (-NOT(Test-Path -Path $RegPath\$App)) {
New-Item -Path $RegPath\$App -Force
New-ItemProperty -Path $RegPath\$App -Name "ShowInActionCenter" -Value 0 -PropertyType "DWORD"
New-ItemProperty -Path $RegPath\$App -Name "Enabled" -Value 1 -PropertyType "DWORD" -Force
New-ItemProperty -Path $RegPath\$App -Name "SoundFile" -PropertyType "STRING" -Force
}
# Make sure the app used with the action center is enabled
if ((Get-ItemProperty -Path $RegPath\$App -Name "Enabled" -ErrorAction SilentlyContinue).Enabled -ne "1") {
New-ItemProperty -Path $RegPath\$App -Name "Enabled" -Value 1 -PropertyType "DWORD" -Force
}
if ((Get-ItemProperty -Path $RegPath\$App -Name "ShowInActionCenter" -ErrorAction SilentlyContinue).ShowInActionCenter -ne "0") {
New-ItemProperty -Path $RegPath\$App -Name "ShowInActionCenter" -Value 0 -PropertyType "DWORD" -Force
}
# Added to not play any sounds when notification is displayed with scenario: alarm
if (-NOT(Get-ItemProperty -Path $RegPath\$App -Name "SoundFile" -ErrorAction SilentlyContinue)) {
New-ItemProperty -Path $RegPath\$App -Name "SoundFile" -PropertyType "STRING" -Force
}
}
# Check for required entries in registry for when using Software Center as application for the toast # Check for required entries in registry for when using Software Center as application for the toast
if ($SCAppStatus -eq "True") { if ($SCAppStatus -eq "True") {
if (Get-Service -Name ccmexec -ErrorAction SilentlyContinue) { if (Get-Service -Name ccmexec -ErrorAction SilentlyContinue) {
@ -2122,17 +2220,17 @@ if (($ActionButton1Enabled -eq "True") -AND ($DismissButtonEnabled -eq "True"))
<text>$HeaderText</text> <text>$HeaderText</text>
<group> <group>
<subgroup> <subgroup>
<text hint-style="title" hint-wrap="true" >$TitleText</text> <text hint-style="title" hint-wrap="true">$TitleText</text>
</subgroup> </subgroup>
</group> </group>
<group> <group>
<subgroup> <subgroup>
<text hint-style="body" hint-wrap="true" >$BodyText1</text> <text hint-style="body" hint-wrap="true">$BodyText1</text>
</subgroup> </subgroup>
</group> </group>
<group> <group>
<subgroup> <subgroup>
<text hint-style="body" hint-wrap="true" >$BodyText2</text> <text hint-style="body" hint-wrap="true">$BodyText2</text>
</subgroup> </subgroup>
</group> </group>
</binding> </binding>
@ -2158,17 +2256,17 @@ if (($ActionButton1Enabled -ne "True") -AND ($DismissButtonEnabled -ne "True"))
<text>$HeaderText</text> <text>$HeaderText</text>
<group> <group>
<subgroup> <subgroup>
<text hint-style="title" hint-wrap="true" >$TitleText</text> <text hint-style="title" hint-wrap="true">$TitleText</text>
</subgroup> </subgroup>
</group> </group>
<group> <group>
<subgroup> <subgroup>
<text hint-style="body" hint-wrap="true" >$BodyText1</text> <text hint-style="body" hint-wrap="true">$BodyText1</text>
</subgroup> </subgroup>
</group> </group>
<group> <group>
<subgroup> <subgroup>
<text hint-style="body" hint-wrap="true" >$BodyText2</text> <text hint-style="body" hint-wrap="true">$BodyText2</text>
</subgroup> </subgroup>
</group> </group>
</binding> </binding>
@ -2192,17 +2290,17 @@ if (($ActionButton1Enabled -eq "True") -AND ($DismissButtonEnabled -ne "True"))
<text>$HeaderText</text> <text>$HeaderText</text>
<group> <group>
<subgroup> <subgroup>
<text hint-style="title" hint-wrap="true" >$TitleText</text> <text hint-style="title" hint-wrap="true">$TitleText</text>
</subgroup> </subgroup>
</group> </group>
<group> <group>
<subgroup> <subgroup>
<text hint-style="body" hint-wrap="true" >$BodyText1</text> <text hint-style="body" hint-wrap="true">$BodyText1</text>
</subgroup> </subgroup>
</group> </group>
<group> <group>
<subgroup> <subgroup>
<text hint-style="body" hint-wrap="true" >$BodyText2</text> <text hint-style="body" hint-wrap="true">$BodyText2</text>
</subgroup> </subgroup>
</group> </group>
</binding> </binding>
@ -2227,17 +2325,17 @@ if (($ActionButton1Enabled -ne "True") -AND ($DismissButtonEnabled -eq "True"))
<text>$HeaderText</text> <text>$HeaderText</text>
<group> <group>
<subgroup> <subgroup>
<text hint-style="title" hint-wrap="true" >$TitleText</text> <text hint-style="title" hint-wrap="true">$TitleText</text>
</subgroup> </subgroup>
</group> </group>
<group> <group>
<subgroup> <subgroup>
<text hint-style="body" hint-wrap="true" >$BodyText1</text> <text hint-style="body" hint-wrap="true">$BodyText1</text>
</subgroup> </subgroup>
</group> </group>
<group> <group>
<subgroup> <subgroup>
<text hint-style="body" hint-wrap="true" >$BodyText2</text> <text hint-style="body" hint-wrap="true">$BodyText2</text>
</subgroup> </subgroup>
</group> </group>
</binding> </binding>
@ -2264,17 +2362,17 @@ if ($ActionButton2Enabled -eq "True") {
<text>$HeaderText</text> <text>$HeaderText</text>
<group> <group>
<subgroup> <subgroup>
<text hint-style="title" hint-wrap="true" >$TitleText</text> <text hint-style="title" hint-wrap="true">$TitleText</text>
</subgroup> </subgroup>
</group> </group>
<group> <group>
<subgroup> <subgroup>
<text hint-style="body" hint-wrap="true" >$BodyText1</text> <text hint-style="body" hint-wrap="true">$BodyText1</text>
</subgroup> </subgroup>
</group> </group>
<group> <group>
<subgroup> <subgroup>
<text hint-style="body" hint-wrap="true" >$BodyText2</text> <text hint-style="body" hint-wrap="true">$BodyText2</text>
</subgroup> </subgroup>
</group> </group>
</binding> </binding>
@ -2303,17 +2401,17 @@ if ($SnoozeButtonEnabled -eq "True") {
<text>$HeaderText</text> <text>$HeaderText</text>
<group> <group>
<subgroup> <subgroup>
<text hint-style="title" hint-wrap="true" >$TitleText</text> <text hint-style="title" hint-wrap="true">$TitleText</text>
</subgroup> </subgroup>
</group> </group>
<group> <group>
<subgroup> <subgroup>
<text hint-style="body" hint-wrap="true" >$BodyText1</text> <text hint-style="body" hint-wrap="true">$BodyText1</text>
</subgroup> </subgroup>
</group> </group>
<group> <group>
<subgroup> <subgroup>
<text hint-style="body" hint-wrap="true" >$BodyText2</text> <text hint-style="body" hint-wrap="true">$BodyText2</text>
</subgroup> </subgroup>
</group> </group>
</binding> </binding>

Binary file not shown.

View file

@ -19,6 +19,7 @@
<Option Name="DynamicDeadline" Enabled="False" Value="KR1008C8" /> <!-- Adds an additional group to the toast with text about the deadline of the OSUpgrade. This will retrieve the deadline of the IPU from WMI --> <Option Name="DynamicDeadline" Enabled="False" Value="KR1008C8" /> <!-- Adds an additional group to the toast with text about the deadline of the OSUpgrade. This will retrieve the deadline of the IPU from WMI -->
<Option Name="CreateScriptsAndProtocols" Enabled="True" /> <!-- Automatically create the needed custom scripts and protocols. This removes the need to do scripts and protocols outside of the script --> <Option Name="CreateScriptsAndProtocols" Enabled="True" /> <!-- Automatically create the needed custom scripts and protocols. This removes the need to do scripts and protocols outside of the script -->
<Option Name="LimitToastToRunEveryMinutes" Enabled="True" Value="5" /> <!-- Prevents the toast notification from being displayed again within the defined value (in minutes) --> <Option Name="LimitToastToRunEveryMinutes" Enabled="True" Value="5" /> <!-- Prevents the toast notification from being displayed again within the defined value (in minutes) -->
<Option Name="CustomNotificationApp" Enabled="True" Value="iMAB.DK NOTIFICATIONS"/> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="UseSoftwareCenterApp" Enabled="True" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell --> <Option Name="UseSoftwareCenterApp" Enabled="True" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="UsePowershellApp" Enabled="False" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell --> <Option Name="UsePowershellApp" Enabled="False" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="CustomAudio" Enabled="False" /> <!-- Enable or disable a custom speak scenario, where the text will be read out aloud --> <Option Name="CustomAudio" Enabled="False" /> <!-- Enable or disable a custom speak scenario, where the text will be read out aloud -->

View file

@ -19,6 +19,7 @@
<Option Name="DynamicDeadline" Enabled="True" Value="ScopeId_A9117680-D054-482B-BC97-532E6CBD0E6B/Application_fd55f35c-4e34-4490-a3ec-ee0b79233ec6" /> <!-- Adds an additional group to the toast with text about the deadline of the OSUpgrade. This will retrieve the deadline of the IPU from WMI --> <Option Name="DynamicDeadline" Enabled="True" Value="ScopeId_A9117680-D054-482B-BC97-532E6CBD0E6B/Application_fd55f35c-4e34-4490-a3ec-ee0b79233ec6" /> <!-- Adds an additional group to the toast with text about the deadline of the OSUpgrade. This will retrieve the deadline of the IPU from WMI -->
<Option Name="CreateScriptsAndProtocols" Enabled="True" /> <!-- Automatically create the needed custom scripts and protocols. This removes the need to do scripts and protocols outside of the script --> <Option Name="CreateScriptsAndProtocols" Enabled="True" /> <!-- Automatically create the needed custom scripts and protocols. This removes the need to do scripts and protocols outside of the script -->
<Option Name="LimitToastToRunEveryMinutes" Enabled="True" Value="5" /> <!-- Prevents the toast notification from being displayed again within the defined value (in minutes) --> <Option Name="LimitToastToRunEveryMinutes" Enabled="True" Value="5" /> <!-- Prevents the toast notification from being displayed again within the defined value (in minutes) -->
<Option Name="CustomNotificationApp" Enabled="True" Value="iMAB.DK NOTIFICATIONS"/> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="UseSoftwareCenterApp" Enabled="True" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell --> <Option Name="UseSoftwareCenterApp" Enabled="True" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="UsePowershellApp" Enabled="False" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell --> <Option Name="UsePowershellApp" Enabled="False" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="CustomAudio" Enabled="False" /> <!-- Enable or disable a custom speak scenario, where the text will be read out aloud --> <Option Name="CustomAudio" Enabled="False" /> <!-- Enable or disable a custom speak scenario, where the text will be read out aloud -->

View file

@ -19,6 +19,7 @@
<Option Name="DynamicDeadline" Enabled="True" Value="KR100907" /> <!-- Adds an additional group to the toast with text about the deadline of the OSUpgrade. This will retrieve the deadline of the IPU from WMI --> <Option Name="DynamicDeadline" Enabled="True" Value="KR100907" /> <!-- Adds an additional group to the toast with text about the deadline of the OSUpgrade. This will retrieve the deadline of the IPU from WMI -->
<Option Name="CreateScriptsAndProtocols" Enabled="True" /> <!-- Automatically create the needed custom scripts and protocols. This removes the need to do scripts and protocols outside of the script --> <Option Name="CreateScriptsAndProtocols" Enabled="True" /> <!-- Automatically create the needed custom scripts and protocols. This removes the need to do scripts and protocols outside of the script -->
<Option Name="LimitToastToRunEveryMinutes" Enabled="True" Value="5" /> <!-- Prevents the toast notification from being displayed again within the defined value (in minutes) --> <Option Name="LimitToastToRunEveryMinutes" Enabled="True" Value="5" /> <!-- Prevents the toast notification from being displayed again within the defined value (in minutes) -->
<Option Name="CustomNotificationApp" Enabled="True" Value="iMAB.DK NOTIFICATIONS"/> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="UseSoftwareCenterApp" Enabled="True" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell --> <Option Name="UseSoftwareCenterApp" Enabled="True" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="UsePowershellApp" Enabled="False" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell --> <Option Name="UsePowershellApp" Enabled="False" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="CustomAudio" Enabled="False" /> <!-- Enable or disable a custom speak scenario, where the text will be read out aloud --> <Option Name="CustomAudio" Enabled="False" /> <!-- Enable or disable a custom speak scenario, where the text will be read out aloud -->

View file

@ -19,6 +19,7 @@
<Option Name="DynamicDeadline" Enabled="False" Value="KR1008C8" /> <!-- Adds an additional group to the toast with text about the deadline of the OSUpgrade. This will retrieve the deadline of the IPU from WMI --> <Option Name="DynamicDeadline" Enabled="False" Value="KR1008C8" /> <!-- Adds an additional group to the toast with text about the deadline of the OSUpgrade. This will retrieve the deadline of the IPU from WMI -->
<Option Name="CreateScriptsAndProtocols" Enabled="True" /> <!-- Automatically create the needed custom scripts and protocols. This removes the need to do scripts and protocols outside of the script --> <Option Name="CreateScriptsAndProtocols" Enabled="True" /> <!-- Automatically create the needed custom scripts and protocols. This removes the need to do scripts and protocols outside of the script -->
<Option Name="LimitToastToRunEveryMinutes" Enabled="True" Value="5" /> <!-- Prevents the toast notification from being displayed again within the defined value (in minutes) --> <Option Name="LimitToastToRunEveryMinutes" Enabled="True" Value="5" /> <!-- Prevents the toast notification from being displayed again within the defined value (in minutes) -->
<Option Name="CustomNotificationApp" Enabled="True" Value="iMAB.DK NOTIFICATIONS"/> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="UseSoftwareCenterApp" Enabled="True" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell --> <Option Name="UseSoftwareCenterApp" Enabled="True" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="UsePowershellApp" Enabled="False" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell --> <Option Name="UsePowershellApp" Enabled="False" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="CustomAudio" Enabled="False" /> <!-- Enable or disable a custom speak scenario, where the text will be read out aloud --> <Option Name="CustomAudio" Enabled="False" /> <!-- Enable or disable a custom speak scenario, where the text will be read out aloud -->

View file

@ -19,6 +19,7 @@
<Option Name="DynamicDeadline" Enabled="True" Value="3012973" /> <!-- Adds an additional group to the toast with text about the deadline of the OSUpgrade. This will retrieve the deadline of the IPU from WMI --> <Option Name="DynamicDeadline" Enabled="True" Value="3012973" /> <!-- Adds an additional group to the toast with text about the deadline of the OSUpgrade. This will retrieve the deadline of the IPU from WMI -->
<Option Name="CreateScriptsAndProtocols" Enabled="True" /> <!-- Automatically create the needed custom scripts and protocols. This removes the need to do scripts and protocols outside of the script --> <Option Name="CreateScriptsAndProtocols" Enabled="True" /> <!-- Automatically create the needed custom scripts and protocols. This removes the need to do scripts and protocols outside of the script -->
<Option Name="LimitToastToRunEveryMinutes" Enabled="True" Value="5" /> <!-- Prevents the toast notification from being displayed again within the defined value (in minutes) --> <Option Name="LimitToastToRunEveryMinutes" Enabled="True" Value="5" /> <!-- Prevents the toast notification from being displayed again within the defined value (in minutes) -->
<Option Name="CustomNotificationApp" Enabled="True" Value="iMAB.DK NOTIFICATIONS"/> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="UseSoftwareCenterApp" Enabled="True" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell --> <Option Name="UseSoftwareCenterApp" Enabled="True" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="UsePowershellApp" Enabled="False" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell --> <Option Name="UsePowershellApp" Enabled="False" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="CustomAudio" Enabled="False" /> <!-- Enable or disable a custom speak scenario, where the text will be read out aloud --> <Option Name="CustomAudio" Enabled="False" /> <!-- Enable or disable a custom speak scenario, where the text will be read out aloud -->

View file

@ -19,8 +19,9 @@
<Option Name="DynamicDeadline" Enabled="False" Value="KR1008C8" /> <!-- Adds an additional group to the toast with text about the deadline of the OSUpgrade. This will retrieve the deadline of the IPU from WMI --> <Option Name="DynamicDeadline" Enabled="False" Value="KR1008C8" /> <!-- Adds an additional group to the toast with text about the deadline of the OSUpgrade. This will retrieve the deadline of the IPU from WMI -->
<Option Name="CreateScriptsAndProtocols" Enabled="True" /> <!-- Automatically create the needed custom scripts and protocols. This removes the need to do scripts and protocols outside of the script --> <Option Name="CreateScriptsAndProtocols" Enabled="True" /> <!-- Automatically create the needed custom scripts and protocols. This removes the need to do scripts and protocols outside of the script -->
<Option Name="LimitToastToRunEveryMinutes" Enabled="False" Value="5" /> <!-- Prevents the toast notification from being displayed again within the defined value (in minutes) --> <Option Name="LimitToastToRunEveryMinutes" Enabled="False" Value="5" /> <!-- Prevents the toast notification from being displayed again within the defined value (in minutes) -->
<Option Name="CustomNotificationApp" Enabled="True" Value="iMAB.DK NOTIFICATIONS"/> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="UseSoftwareCenterApp" Enabled="False" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell --> <Option Name="UseSoftwareCenterApp" Enabled="False" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="UsePowershellApp" Enabled="True" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell --> <Option Name="UsePowershellApp" Enabled="False" /> <!-- The app in Windows doing the actual notification - can't be both SoftwareCenter and Powershell -->
<Option Name="CustomAudio" Enabled="False" /> <!-- Enable or disable a custom speak scenario, where the text will be read out aloud --> <Option Name="CustomAudio" Enabled="False" /> <!-- Enable or disable a custom speak scenario, where the text will be read out aloud -->
<Option Name="LogoImageName" Value="ToastLogoImageDefault.jpg" /> <!-- File name of the image shown as logo in the toast notoification --> <Option Name="LogoImageName" Value="ToastLogoImageDefault.jpg" /> <!-- File name of the image shown as logo in the toast notoification -->
<Option Name="HeroImageName" Value="ToastHeroImageDefault.jpg" /> <!-- File name of the image shown in the top of the toast notification --> <Option Name="HeroImageName" Value="ToastHeroImageDefault.jpg" /> <!-- File name of the image shown in the top of the toast notification -->
@ -28,7 +29,7 @@
<Option Name="ActionButton2" Enabled="True" /> <!-- Enables or disables the action button. --> <Option Name="ActionButton2" Enabled="True" /> <!-- Enables or disables the action button. -->
<Option Name="DismissButton" Enabled="True" /> <!-- Enables or disables the dismiss button. --> <Option Name="DismissButton" Enabled="True" /> <!-- Enables or disables the dismiss button. -->
<Option Name="SnoozeButton" Enabled="False" /> <!-- Enabling this option will always enable action button and dismiss button --> <Option Name="SnoozeButton" Enabled="False" /> <!-- Enabling this option will always enable action button and dismiss button -->
<Option Name="Scenario" Type="alarm" /> <!-- Possible values are: reminder | short | long --> <Option Name="Scenario" Type="reminder" /> <!-- Possible values are: reminder | short | long | alarm -->
<Option Name="Action1" Value="ToastReboot:" /> <!-- Action taken when using the Action button. Can be any protocol in Windows --> <Option Name="Action1" Value="ToastReboot:" /> <!-- Action taken when using the Action button. Can be any protocol in Windows -->
<Option Name="Action2" Value="https://imab.dk" /> <!-- Action taken when using the Action button. Can be any protocol in Windows --> <Option Name="Action2" Value="https://imab.dk" /> <!-- Action taken when using the Action button. Can be any protocol in Windows -->
<Text Option="GreetGivenName" Enabled="True" /> <!-- Displays the toast with a personal greeting using the users given name retrieved from AD. Will try retrieval from WMI of no local AD --> <Text Option="GreetGivenName" Enabled="True" /> <!-- Displays the toast with a personal greeting using the users given name retrieved from AD. Will try retrieval from WMI of no local AD -->