Microsoft Dynamics CRM 4.0: Are Powershell cmdlets available? - powershell

I am entirely new to Microsoft Dynamics CRM 4.0 and have been tasked to create some automation around MS-Crm administration.
To this end, I wish to use powershell. I have found that there are cmdlets that allow you to work with CRM (see MSDN). But what I cant seem to find out is whether these cmdlets are only available in Dynamics 2011 or are they available in Dynamics 4.0 also?
I tried running "Add-PSSnapin Microsoft.Crm.PowerShell" on the server - but get an error message that the snapin is not available. So, not sure as to what is going on.

For Dynamics CRM 4 there are no PowerShell cmdlets available. However, the cmdlets which are existing for Dynamics CRM 2011 are mostly a convenient way to automate the deployment service or to access the organization settings.
Most of these is also available in Dynamics CRM 4.
Take a look at the Deployment SDK for Dynamics CRM 4.
Keep in mind that some of the cmdlets for Dynamics CRM 2011 use new features of its Deployment Service, as for example the Import-CrmOrganization cmdlet. This is not possible with the Dynamics CRM 4 Deployment Service.

There are no official PowerShell cmdlets for CRM 4, but the Deployment web service is available for 4.0. You could code against that, or create your own cmdlets that run against it.

Do you installed the Deployment Tools role ?
Have a look to this post for more informations.

Related

Is there any method for vm update in azure except update management tool in automation account

I need to develop powershell script for automating vm patches updating in azure. I know we can do it by using azure update management but is there any other way to do it? I'm new to it please help.
You could refer to this Virtual Machines - Update to update a virtual machine.
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}?api-version=2020-06-01
In addition, we could also do this in the UI and capture the request URL and request Body in the Network via F12, then convert it to power shell script.
As per this Microsoft Q&A platform question, you may use PSWindowsUpdate powershell module cmdlets.
And, if you are looking for a way to implement a way by removing dependency on Azure Automation and Azure Log Analytics then check Automatic VM guest patching (Preview).
Also, I would love to know the reason for trying to manually develop script for automating VM patches when the same is already available to us in the form of Update management solution (that is integrated with Azure Automation and Azure Log Analytics).

Is it possible to add and configure Dynamics CRM workflows with Powershell

Is it possible to deploy a managed solution to Microsoft Dyanamics CRM 2013/2015 with plugin assemblies via the UI, then use a PowerShell script to add workflows, and steps?
Short answer: Yes.
Long answer: Yes - but you need to create .NET cmdlets which access CRM service which Powershell can run.
If you don't want to roll your own solution, this make be of use.
http://waelhamze.com/2013/08/20/automated-crm-deployments-powershell/

csmanage or powershell commandlets, which one to choose?

After looking around for some information about managing my azure app i found csmanage and powershell commandlets. What are the difference between these applications and which one to choose?
The basis of Windows Azure Services management is REST API and beauty of using REST API is that you can wrap REST in any programming language as longs as there is networking and security infrastructure available. Most of the tools you mentioned above are using REST API underneath and using Windows Azure Service Management API. CSMANAGE and PowerShell Cmdlets are using Windows Azure Service Management API to manager Windows Azure subscriptions. You can learn more about Service Management API here.
There is also another tool call WAPMMC (Windows Azure Platform Management Tool (MMC) which is also built upon Service Management API.
Besides it there are 3rd party tools which are built using Service management API i.e. Cerebrata Powershell cmdlets.
Comparing all of above, I would say Windows Azure Powershell Cmdlets is the most powerful tool among all of these and it has been updated with bug fixes and many more features added frequently. To use it in your machine you just need to download powershell cmdlets and Windows Azure SDK in your machine as these are required.
http://wappowershell.codeplex.com/
Recently I also found a Java based tool called Burp to use REST API directly from its shell to manage Windows Azure subscription. There is no need for .net framework or Azure SDK. You just need a machine with Java runtime and Burp. I have added a blog on this regard here.
I think it depends on what you're more comfortable with. I don't think the CSManage tool is being updated that much any longer (maybe at all - unsure). The PowerShell cmdlets get a lot of attention - both from Microsoft and partners like Cerebrata.
My vote - learn PowerShell and go with the PowerShell cmdlets for working with your Windows Azure apps. Small learning curve and well worth it.

Microsoft CRM 2011 IFD vs Windows Auth

Can someone explain to me why one would use IFD (Internet Facing Deployment) to access Microsoft CRM vs. just using Windows Authentication? They seem equivalent to me in their features. Not sure of the benefits of IFD over Windows auth however.
Thanks!
Take a look at this previous answer for some discussion on this topic: Exposed onsite vs IFD deployments for MS Dynamics CRM
I would say from my standpoint the biggest issue with using Windows Auth over the internet for CRM is the issue of Outlook integration. The second point I would make is that Windows Auth can present issues to people accessing CRM from a non-domain computer when outside the domain - i.e., their home computer. Not always but I have seen issues pop-up (not very often) that are avoided in a forms based configuration.
As a reminder in 2011 the IFD feature has been changed signficantly so that you must use Active Directory Federation Service which is claims-based. I recommend reading over http://blogs.msdn.com/b/crm/archive/2011/01/13/configuring-ifd-with-microsoft-dynamics-crm-2011.aspx and watching the video at http://www.youtube.com/watch?v=ZD5qaa-G99E.
You can certainly go with Windows Auth but if you are willing to put in the extra work go with the Internet Facing setups for a more robust and better supported install.
I want to add to privious answer.
Integrating Outlook client from outside the domain can be done by reseting windows credential in the control panel from time to time.
another complication is SharePoint integration which can't be used outside the domain with SSO.
If you do use IFD, I recommand on this blog:
http://dynamics.co.il/configuring-crm-2011-ifd

How to programmatically import a CRM Organization?

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.