Update New-ToastNotification.ps1
This commit is contained in:
parent
8253af7675
commit
d9b0eefe84
1 changed files with 31 additions and 31 deletions
|
|
@ -82,18 +82,18 @@
|
||||||
** As well as added support for dynamic deadline retrieval for software updates **
|
** 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 **
|
** 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
|
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
|
Added Support for Custom Actions/Protocols within the script under user context removing the need for that to be run under SYSTEM/ADMIN
|
||||||
- <Option Name="Action" Value="ToastRunUpdateID:" />
|
- <Option Name="Action" Value="ToastRunUpdateID:" />
|
||||||
- <Option Name="Action" Value="ToastRunPackageID:" />
|
- <Option Name="Action" Value="ToastRunPackageID:" />
|
||||||
- <Option Name="Action" Value="ToastRunApplicationID:" />
|
- <Option Name="Action" Value="ToastRunApplicationID:" />
|
||||||
- <Option Name="Action" Value="ToastReboot:" />
|
- <Option Name="Action" Value="ToastReboot:" />
|
||||||
Added Support to dynamically create Custom Action Scripts to support Custom Protocols
|
Added Support to dynamically create Custom Action Scripts to support Custom Protocols
|
||||||
Added Support for Software (Feature) Updates : Searches for an update and will store in variable
|
Added Support for Software (Feature) Updates : Searches for an update and will store in variable
|
||||||
Added new XML Types for Software Updates:
|
Added new XML Types for Software Updates:
|
||||||
- <Option Name="RunUpdateID" Enabled="True" Value="3012973" />
|
- <Option Name="RunUpdateID" Enabled="True" Value="3012973" />
|
||||||
- <Option Name="RunUpdateTitle" Enabled="True" Value="Version 1909" />
|
- <Option Name="RunUpdateTitle" Enabled="True" Value="Version 1909" />
|
||||||
Added support for getting deadline date/time dynamically for software updates
|
Added support for getting deadline date/time dynamically for software updates
|
||||||
- Configure DynamicDeadline with the UpdateID
|
- Configure DynamicDeadline with the UpdateID
|
||||||
|
|
||||||
2.0.1 - Updated custom action scripts!
|
2.0.1 - Updated custom action scripts!
|
||||||
|
|
@ -106,7 +106,7 @@
|
||||||
- If newer version is available from the script, new custom action scripts will be created
|
- If newer version is available from the script, new custom action scripts will be created
|
||||||
- This allows me to make sure the relevant scripts are in place in case I change something along the way
|
- This allows me to make sure the relevant scripts are in place in case I change something along the way
|
||||||
- Modified script output of custom script for RunPackageID to pick up Program ID dynamically
|
- Modified script output of custom script for RunPackageID to pick up Program ID dynamically
|
||||||
Added support for getting deadline date/time dynamically for applications
|
Added support for getting deadline date/time dynamically for applications
|
||||||
- Configure DynamicDeadline with the Application ID
|
- Configure DynamicDeadline with the Application ID
|
||||||
|
|
||||||
2.0.2 - Fixed an error in the custom protocols
|
2.0.2 - Fixed an error in the custom protocols
|
||||||
|
|
@ -252,23 +252,23 @@ function Get-GivenName() {
|
||||||
if (Get-Service -Name ccmexec -ErrorAction SilentlyContinue) {
|
if (Get-Service -Name ccmexec -ErrorAction SilentlyContinue) {
|
||||||
Write-Log -Message "Looking for given name in WMI with CCM client"
|
Write-Log -Message "Looking for given name in WMI with CCM client"
|
||||||
$LoggedOnSID = Get-CimInstance -Namespace ROOT\CCM -Class CCM_UserLogonEvents -Filter "LogoffTime=null" | Select -ExpandProperty UserSID
|
$LoggedOnSID = Get-CimInstance -Namespace ROOT\CCM -Class CCM_UserLogonEvents -Filter "LogoffTime=null" | Select -ExpandProperty UserSID
|
||||||
if ($LoggedOnSID.GetType().IsArray) {
|
if ($LoggedOnSID.GetType().IsArray) {
|
||||||
Write-Log -Message "Multiple SID's found. Skipping"
|
Write-Log -Message "Multiple SID's found. Skipping"
|
||||||
$GivenName = ""
|
$GivenName = ""
|
||||||
$GivenName
|
$GivenName
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$RegKey = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\SessionData"
|
$RegKey = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\SessionData"
|
||||||
$DisplayName = (Get-ChildItem -Path $RegKey | Where-Object {$_.GetValue("LoggedOnUserSID") -eq $LoggedOnSID} | Select-Object -First 1).GetValue("LoggedOnDisplayName")
|
$DisplayName = (Get-ChildItem -Path $RegKey | Where-Object {$_.GetValue("LoggedOnUserSID") -eq $LoggedOnSID} | Select-Object -First 1).GetValue("LoggedOnDisplayName")
|
||||||
if ($DisplayName) {
|
if ($DisplayName) {
|
||||||
Write-Log -Message "Given name found in WMI with the CCM client: $GivenName"
|
Write-Log -Message "Given name found in WMI with the CCM client: $GivenName"
|
||||||
$GivenName = $DisplayName.Split()[0].Trim()
|
$GivenName = $DisplayName.Split()[0].Trim()
|
||||||
$GivenName
|
$GivenName
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$GivenName = ""
|
$GivenName = ""
|
||||||
$GivenName
|
$GivenName
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -494,7 +494,7 @@ function Get-CMUpdate() {
|
||||||
1 { $EvaluationState = 'Available' }
|
1 { $EvaluationState = 'Available' }
|
||||||
2 { $EvaluationState = 'Submitted' }
|
2 { $EvaluationState = 'Submitted' }
|
||||||
7 { $EvaluationState = 'Installing' }
|
7 { $EvaluationState = 'Installing' }
|
||||||
8 { $EvaluationStatet = 'Reboot' }
|
8 { $EvaluationState = 'Reboot' }
|
||||||
9 { $EvaluationState = 'Reboot' }
|
9 { $EvaluationState = 'Reboot' }
|
||||||
13 { $EvaluationState = 'Error' }
|
13 { $EvaluationState = 'Error' }
|
||||||
}
|
}
|
||||||
|
|
@ -1988,4 +1988,4 @@ if (($UpgradeOS -ne "True") -AND ($PendingRebootCheck -ne "True") -AND ($Pending
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Write-Log -Level Warn -Message "Conditions for displaying default toast notification are not fulfilled"
|
Write-Log -Level Warn -Message "Conditions for displaying default toast notification are not fulfilled"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue