The Scripting Agent is one of the cmdlet extension agents in Exchange Server 2013 (and 2010 for that matter). You can read more about cmdlet extension agents here, but in short they allow administrators to extend the functionality of PowerShell cmdlets by creating additional actions that are performed when a cmdlet is used.
One of the best examples, as well as being a common use, of the Scripting Agent is to extend the New-Mailbox and Enable-Mailbox cmdlets to automatically perform additional configuration tasks for new mailboxes as they are created.
For example, when a new mailbox is created automatically enable mailbox audit logging, or automatically disabled protocols such as POP and IMAP.
Enabling the Script Agent takes effect for the entire Exchange organization, so the first step is to deploy the Script Agent configuration file to each of your Exchange servers. This is a simple task if you use the PowerShell script that I’ve made available here.
If you need a placeholder config file before you’ve configured any actual actions this simple three line XML will do the trick.
The next step is to enable the Scripting Agent. You can view the existing cmdlet extension agent configuration using Get-CmdletExtensionAgent.
[PS] C:\>Get-CmdletExtensionAgent | ft name,enabled -auto
Admin Audit Log Agent True
Scripting Agent False
Mailbox Resources Management Agent True
OAB Resources Management Agent True
Query Base DN Agent True
Provisioning Policy Agent True
Rus Agent True
Mailbox Creation Time Agent True
To enable the Scripting Agent use Enable-CmdletExtensionAgent.
[PS] C:\>Enable-CmdletExtensionAgent "Scripting Agent"
For an example of Script Agent config files check out how to enable mailbox audit logging automatically for new mailboxes.