I recently worked with a client that we were working to move to Office 365. During the process we wanted to put in new Exchange 2016 servers which required upgrading the existing Exchange 2010 servers to a newer Update Rollup for Service Pack 3. Just trying to kick off an update resulted in an error:

Doing some research I was able to find out that PowerShell can reveal a series of Cmdlet Extensions, of which the Scripting Agent is one of. So running Get-CmdletExtensionAgent, we can reveal the current settings for these agents. On the client’s server, the Scripting Agent was enabled, as reported:

However, the default settings look something like this:

The client revealed they had a software product that required this setting. In order to get past this issue, we disabled the Scripting Agent with Powershell:
Disable-CmdletExtensionAgent -Identity "Scripting Agent"
Once the upgrade was complete, we re-enabled the Scripting Agent:
Enable-CmdletExtensionAgent -Identity "Scripting Agent"
Other Scenarios
The Scripting Agent can also cause issues if any of the Virtual Directories of the servers. This also occurred while configuring the various virtual directories on Exchange Server 2010. Which means that this is a global setting. Something to keep in mind.
Further Reading
Enable-CmdletExtensionAgent
Disable-CmdletExtensionAgent
