3

I have SharePoint 2013 with build number = 15.0.4763.1000 which represents October 2015 CU. now we have installed the security updates for December 2015. but when I run the product configuration wizard I got the following excretion on step 8 out of 9:-

enter image description here

now I read many articles about how to fix this , and many of them suggest to first check if I have any missing updates by running the following command:-

 get-spproduct -local

now when i run this command I got the following results:- enter image description here

But I am not sure what does this indicate?

Do I have missing updates? I mean what does having empty value under the Missing column mean? and what does Required=True indicate?

1 Answer 1

5

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

5
  • thanks for the reply, but i am confused now , you mean when i run "Get-SPProduct -local" it will or might modify the registry ?? and does it download or install any missing updates also ?
    – John John
    Jan 13, 2016 at 14:10
  • @johnG The command does not download or install any updates, it returns the SharePoint-related products installed in the farm including the versions of the installed updates. The registry-part explanation was actually sort of incorrect, I'll update it. More precisely the command includes a part which does version comparison to MSI database where the possible changes happen.
    – moe
    Jan 14, 2016 at 7:42
  • so i am not sure what you exactly mean by "More precisely the command includes a part which does version comparison to MSI database where the possible changes happen...." ... and why running the Get-SProduct -local can fix any problems in running the product configuration wizard..
    – John John
    Jan 14, 2016 at 13:31
  • 1
    @johnG I think that the explanation to both of your questions has been given in the previously updated answer above. I don't think I can give any better description for what the Get-SPProduct -local does besides the one already linked (twice) in the answer.
    – moe
    Jan 14, 2016 at 13:43
  • thanks again for your help, but this is the first time i face a Get command that modify something !!! seems Eveything in SharePoint world is possible,, so "Get" command will/might modify the registry values waaaaaaaaaaw....
    – John John
    Jan 14, 2016 at 15:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.