Add files via upload

This commit is contained in:
Martin Bengtsson 2020-07-03 21:29:26 +02:00 committed by GitHub
parent f1877e048a
commit fc083ceaba
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 91 additions and 0 deletions

View file

@ -0,0 +1,54 @@
<#
.SYNOPSIS
Script used to execute applications directly from my Windows 10 Toast Notification Script
.NOTES
Filename: Run-ApplicationID.ps1
Version: 1.0
Author: Martin Bengtsson
Blog: www.imab.dk
Twitter: @mwbengtsson
.LINKS
https://www.imab.dk/windows-10-toast-notification-script
#>
# Function for triggering the installation or reparing of applications
# Parts of this function is heavily inspired by Timmy's post at: https://timmyit.com/2016/08/08/sccm-and-powershell-force-installuninstall-of-available-software-in-software-center-through-cimwmi-on-a-remote-client/
# Function is modified to cater for a scenario where the application needs repairing instead of installing
# Also removed bits and pieces which I don't need :-)
function Trigger-AppInstallation() {
param(
[String][Parameter(Mandatory=$true)] $appID
)
Begin {
$application = (Get-CimInstance -ClassName CCM_Application -Namespace "root\ccm\clientSDK" | Where-Object {$_.Id -eq $appID})
$args = @{EnforcePreference = [UINT32] 0
Id = "$($application.Id)"
IsMachineTarget = $application.IsMachineTarget
IsRebootIfNeeded = $false
Priority = 'High'
Revision = "$($application.Revision)"}
}
Process {
if ($application.InstallState -eq "NotInstalled") {
try {
Invoke-CimMethod -Namespace "root\ccm\clientSDK" -ClassName CCM_Application -MethodName Install -Arguments $args
}
catch { }
}
elseif ($application.InstallState -eq "Installed") {
try {
Invoke-CimMethod -Namespace "root\ccm\clientSDK" -ClassName CCM_Application -MethodName Repair -Arguments $args
}
catch { }
}
}
End { }
}
$registryPath = "HKCU:\SOFTWARE\ToastNotificationScript"
$applicationID = (Get-ItemProperty -Path $RegistryPath -Name "RunApplicationID").RunApplicationID
Trigger-AppInstallation -appID $applicationID

View file

@ -0,0 +1,20 @@
<#
.SYNOPSIS
Script used to execute packages and task sequences directly from my Windows 10 Toast Notification Script
.NOTES
Filename: Run-PackageID.ps1
Version: 1.0
Author: Martin Bengtsson
Blog: www.imab.dk
Twitter: @mwbengtsson
.LINKS
https://www.imab.dk/windows-10-toast-notification-script
#>
$RegistryPath = "HKCU:\SOFTWARE\ToastNotificationScript"
$PackageID = (Get-ItemProperty -Path $RegistryPath -Name "RunPackageID").RunPackageID
$SoftwareCenter = New-Object -ComObject "UIResource.UIResourceMgr"
$ProgramID = "*"
$SoftwareCenter.ExecuteProgram($ProgramID,$PackageID,$true)

View file

@ -0,0 +1 @@
shutdown /r /t 0 /d p:0:0 /c "Toast Notification Reboot"

Binary file not shown.

View file

@ -0,0 +1,2 @@
powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -WindowStyle Hidden -File "C:\ProgramData\ToastNotificationScript\Run-ApplicationID.ps1"

View file

@ -0,0 +1,12 @@
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\ToastRunApplicationID]
"URL Protocol"=""
@="URL:ToastRunApplicationID Protocol"
[HKEY_CLASSES_ROOT\ToastRunApplicationID\shell]
[HKEY_CLASSES_ROOT\ToastRunApplicationID\shell\open]
[HKEY_CLASSES_ROOT\ToastRunApplicationID\shell\open\command]
@="C:\\ProgramData\\ToastNotificationScript\\ToastRunApplicationID.cmd"

View file

@ -0,0 +1,2 @@
powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -WindowStyle Hidden -File "C:\ProgramData\ToastNotificationScript\Run-PackageID.ps1"

Binary file not shown.