Is there any way via powershell or some api that I can't seem to find in the CRM 4.0 SDK, that would allow us to automate the refresh from our production CRM 4.0 environment to a Staging CRM server? Obviously the db backup / restore we can script but I cannot find a way to kick off a CRM Import Organization without using the MMC snap-in.
there is a Deployment SDK for Dynamics CRM 4 available. However the interesting part for you is not part of the public api.
The documentation mentions the ImportOrganizationRequest
which should be used by the Deployment Manager. Unfortunately, it is marked for internal use. However, there should be no changes to this API as Dynamics CRM 2011 is just around the corner and therefore I would give it a try.
You could use this post in the msdn forums as a starting point.
btw: Dynamics CRM 2011 comes with a set of PowerShell CmdLets which makes the adminstration much more scriptable. Especially Import-CrmOrganization
would be the CmdLet which you could use. See my blog post for further information.