If you get PsTools, and do this:
psexec -i -s CMD.exe
you’ll get another CMD box, where the username is SYSTEM, that is to say, the hostname of the machine with a dollar sign on the right end. If the machine is on a domain, it is DOMAIN\hostname$
, have not tested it on a non-domain machine yet.
One software installer recently, required that the folder containing its installer package be TAKEOWNed and ICACLSed, as that system user, before it would run to completion, it must have some odd permissions bug in it.
There are likely to be quite a few circumstances in which this special CMD can be useful.
Categories:
Windows Installer, Updates, Patching
Windows OS-Level Issues
To see if there is cleanup to be done:
DISM /Online /Cleanup-Image /AnalyzeComponentStore
To remove obsolete and unused system files:
DISM /Online /Cleanup-Image /StartComponentCleanup
To remove obsolete and unused system files and also service pack uninstallation files:
dism /online /Cleanup-Image /SPSuperseded
To remove obsolete and unused system files and everything prior, making it impossible to reverse any patches:
dism /online /Cleanup-Image /StartComponentCleanup /ResetBase
Categories:
Windows Installer, Updates, Patching
Windows OS-Level Issues
This:
wmic product where "name like 'Java%%'" call uninstall /nointeractive
appears to work very well for products whose names start with “Java” which are installed in Windows standard fashion.
Categories:
Windows Installer, Updates, Patching
Categories:
Windows Installer, Updates, Patching
Categories:
Windows Installer, Updates, Patching
This command:
wmic product where name="Application Name" call uninstall /nointeractive
appears to do it. Put the whole long name from the software list in Control Panel, within those double parentheses. This works in at least some cases where msiexec /x does not. And it is not version-specific.
To get a full list of names with GUIDs, try this:
get-wmiobject Win32_Product | sort-object -property Name | Format-Table IdentifyingNumber, Name, LocalPackage -AutoSize
Categories:
Windows Installer, Updates, Patching
Windows OS-Level Issues
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