Get-SPProduct -local
doesn't actually return whether you are missing some updates. Instead as described in the TechNet:
Returns a list of the SharePoint-related products installed in the farm and the versions of all updates installed for each product.
However to understand why this affects the Configuration Wizard's execution the command's steps should be viewed. The key part is where the version information is extracted from the detected MSI patch and furthermore used in a T-SQL query to modify the ProductVersion
fields. Briefly yes - the Get
-command executes some stuff, and in this case at the local server scope.
For complete description of the included steps, see the link of source #1.
To answer your questions:
Do I have missing updates?
It can't be said yet (although we know that as of 11th of Jan 2016 the Dec 2015 CU is the latest patch we have - The next CU is released tomorrow). To dig this information you could run the following commands:
$spprod = Get-SPProduct
$spprod.Servers | Select ServerName, Products, InstallStatus
The InstallStatus
indicates whether there are updates to be installed per server. Possible returns are e.g. NoActionRequired
, InstallRequired
and UpgradeRequired
.
what does having empty value under the Missing column mean?
Tougher question as the command is quite undocumented, but let's try. By running Get-SPProduct -local | select -ExpandProperty Missing
we learn that Missing
points to ServersMissingThis
property which is part of namespace [Microsoft.SharePoint.Administration.SPProduct]
. ServersMissingThis
means in plain language A list of servers missing this product or null if the product is installed on all servers.
So there we have it - the product has been installed on all servers.
what does Required=True indicate?
While we are at [Microsoft.SharePoint.Administration.SPProduct]
we can also find the SPProduct.RequiredOnAllServers
property. The Required
indicates the following:
Indicates whether every server must have this product or not.
A Boolean with a value of true if this product is required on every server (in the SharePoint farm) and false if not.
To wrap it up maybe for others, let's explain the Servers
column too. The SPProduct.Servers
property equals to Information about all servers on which this product is installed.
If the return is {}
, that's because we are running the Get-SPProduct
with -local
parameter, which means we are already requesting the return from a specific a server. If ran without specifying the server, the return would be {SERVER$}
where SERVER$
equals the server or servers having the product installed.
As already probably stated in the various articles OP referred, if the Configuration Wizard had previously failed, the Configuration Wizard should(™) run successfully ~5 minutes after running Get-SPProduct -local
.
Stefan Goßner recently blogged about Get-SPProduct -local
. The explanation is flawless and also a recommended read.
Sources:
1,
2,
3,
4,
5,
6,
7