F_PSWindowsUpdates.PS1 is shared on \\DC1\Shared
# This is PowerShell script to force on installing Windows Updates via PSWindowsUpdate on Windows machines
# https://www.powershellgallery.com/packages/PSWindowsUpdate/2.2.0.2
# It is created on 2021-10-21
# Allow PowerShell to be run on Windows machines with PSWindowsUpdate module
Set-ExecutionPolicy RemoteSigned
# Installs everything (newest version) along with required modules.
Install-Module PSWindowsUpdate
# Import Module PSWindowsUpdate before running the script
Import-Module -Name PSWindowsUpdate
# Force Windows updates are completely downloaded, installed and then restarted. Will check if we have a WSUS server
Install-WindowsUpdate -AcceptAll -AutoReboot
# Send an email after running PSWindowsUpdate command
# Will send email if the last previous command is successful.
if ($? -eq $True){
# Use this command for TLS requirement
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# Get machine name
$machinename = get-content env:computername
# Get current date and time
$currentdate = get-date
# Get current date and time
$currentdate = get-date
# SMTP server of Xyz.com</p>
$SMTP = "smtp-mail.xyz.com"
# Mail from<
$From = "youremail@xyz.com"
# Rcpt to
$To = "youremail@xyz.com"# Subject line
$Subject = "Windows updates on $cname"
# Email body
$Body = "Finising running Windows updates on $machinename on $currentdate"
#Create a connection to SMTP Outlook via the port 587</p>
$Email = New-Object Net.Mail.SmtpClient($SMTP, 587)
# Enable SSL for the connection
Email.EnableSsl = $true
#Log in to xyz mail server with your credential
$Email.Credentials = New-Object System.Net.NetworkCredential("youremail@xyz.com", "yourpassword");
# Send email syntax
$Email.Send($From, $To, $Subject, $Body)
}
Assign this script on Task Scheduler.