All Mitel software names seem to start with that one word “Mitel”. So this:
( Get-WmiObject -Class Win32_Product | Where-Object{$_.Name -like 'Mitel*'} ) | ForEach-Object {
& msiexec /x $_.IdentifyingNumber /quiet /qn /norestart
}
appears to do the job nicely.
Categories:
Windows Installer, Updates, Patching
Categories:
Windows Installer, Updates, Patching
Application Issues
This seems to be quite the tool. Haven’t tested it yet.
https://github.com/oneget/oneget
Can be installed or updated in 10 with: Install-Module -Name PackageManagement -Force
Categories:
Tools
Windows Installer, Updates, Patching
Categories:
Windows Installer, Updates, Patching
Windows OS-Level Issues
Sometimes Windows Installer will pile up a queue of items to be installed. These will show up as multiple ‘msiexec’ processes in TASKMGR. To clear them:
msiexec /unregister
taskkill /f /im msiexec.exe
msiexec /regserver
The idea is, first we take Windows Installer offline, then we kill any leftover stalled / queued processes, and lastly, we bring Windows Installer online again. Unless there’s something else in the backgrounds starting more of these things, this will take good care.
Categories:
Windows Installer, Updates, Patching
Updates are being distributed to Windows 10 via peer-to-peer methods, in addition to cloud-to-PC. This will be essential to handle the big build files, 4 gigabyte plus, at many sites.
https://docs.microsoft.com/en-us/windows/deployment/update/waas-delivery-optimization
Categories:
Windows Installer, Updates, Patching
Windows OS-Level Issues
Categories:
Windows Installer, Updates, Patching
Chocolatey is a great way to get a huge variety of software into your Windows machine in a very consistent way. Boxstarter uses Chocolatey for large repeated OS and package setups, both virtual and hardware. Boxstarter has a great Windows update method inside. To call it all via Powershell, one can do this (make sure you’re administrative):
$PSCred = Get-Credential
Set-ExecutionPolicy Bypass -Force
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco install boxstarter -y
choco install boxstarter.chocolatey -y
Install-BoxstarterPackage -PackageName Boxstarter.WindowsUpdate -Credential $PScred
The credential is a local admin to the box, it is there so the updater can run through as many reboots as necessary to get the job done. Please do be aware that this will reboot the machine immediately after setup, and will reboot it repeatedly as needed to get the machine fully up to date. It also installs a public desktop icon called “Boxstarter Shell” which probably will need to be removed.
One can copy all of the above lines into a file, e.g., “winup.ps1”, and then run “.\winup” in an administrative Powershell, it will work very nicely.
Categories:
Windows Installer, Updates, Patching
This Powershell command does a lot of good:
Get-WMIObject Win32_Product | Sort-Object -Property Name | Format-Table Name, IdentifyingNumber -Wrap
It gets the names, and the long unique install codes (GUIDs), which look something like this:
{90160000-008C-0000-0000-0000000FF1CE}
Usually one can then run this:
MsiExec.exe /x {90160000-008C-0000-0000-0000000FF1CE} /q /qn /norestart
to remove quietly. When this doesn’t work, there is a plan B:
Get-WMIObject Win32_Product | Sort-Object -Property Name | Format-Table Name, LocalPackage -Wrap
which gets the names and the locations of the system-local copies of the MSIs. One should be able to do the same MsiExec command on those too, though this does not always work either.
Categories:
Windows Installer, Updates, Patching
Categories:
Windows Installer, Updates, Patching
Windows OS-Level Issues