Active Directory-Benutzer mit Powershell erstellen

Gerade bei Test- oder Entwicklungs-Umgebungen kommt es immer wieder vor, dass mehrere Benutzer auf einmal im CRM erfasst werden müssen. Ergo müssen auch die Benutzer im Active Directory her. Bei ein zwei Benutzern mit dem Wizard kein Problem. Bei mehr Benutzern kann das Geklicke aber sehr schnell mühsam werden.

Lösung: Powershell! Mit Powershell ist es sehr einfach möglich die AD-Beutzer automatisiert zu erstellen.

  1. Die Benutzer in einer CSV-Datei erfassen:
    image
  2. Die PowerShell-Datei mit folgendem Inhalt erstellen:
    Param(
          [string]$filePath,
          [string]$initPassword
    )
    
    Import-Csv $filePath | New-ADUser -Path 'DC=PROCRM,DC=CH' -PassThru | Set-ADAccountPassword -Reset -NewPassword (ConvertTo-SecureString -AsPlainText '$initPassword' -Force) -PassThru | Enable-ADAccount

    Bemerkung: Der Parameter “Path” ist optional. Wird dieser wegglassen werden die Benutzer einfach im Root erstellt.

  3. CMD-Datei zum Aufruf der PS-Datei erstellen:
    Powershell.exe Set-ExecutionPolicy –ExecutionPolicy RemoteSigned –Scope CurrentUser Powershell.exe -File CreateAdUsers.ps1 -filePath crmusers.csv -initPasswort 'Passw0rd'
  4. Zum Erstellen der Benutzer nun einfach die eben erstellte CMD-Datei ausführen

CRM Server Installation mit XML-Config-Datei

Viele vor allem grössere Unternehmen erlauben es nicht, dass das CRM während der Installation, selbständig Gruppen im Active Directory anlegen darf. Dies ist nur ein Grund, wieso man das CRM mit Hilfe des config-Files installieren sollte.

Dazu müssen die folgenden Schritte durchgeführt werden:

image

Das folgende Beispiel zeigt auf, was in den einzelnen Prozessschritten gemacht wird. (Das Beispiel kann gleichzeitig auch als Checkliste für die Installation dienen.)

Schritt Beschreibung
Vorbereitung durch IT Die folgenden Informationen müssen VOR der Installation bekannt sein: (Die Daten in der Spalte “Wert” sind Beispieldaten.)
Was Beschreibung Wert(e)
OU Die OU, in welcher die AD-Gruppen liegen werden.
(Die OU wird nicht benötigt, wennn vorgängig erstellte Gruppen verwendet werden)
OU=value,DC=sales,DC=domain,DC=com
AD-Gruppen Die Namen der folgenden AD-Gruppen (Security, Universal oder Domain Local) müssen bekannt sein:

- PrivUserGroup
- SQLAccessGroup
- ReportingGroup
- PrivReportingGroup

CN=PrivUserGroup,OU=CRM,DC=sales,DC=domain,DC=com
CN=SQLAccessGroup,OU=CRM,DC=sales,DC=domain,DC=com
CN=ReportingGroup,OU=CRM,DC=sales,DC=domain,DC=com
CN=PrivReportingGroup,OU= CRM,DC=sales,DC=domain,DC=com
Service Accounts Es müssen sechs Service Accounts für die folgenden Dienste zur Verfügung stehen:

- CrmServiceAccount
- SandboxServiceAccount
- DeploymentServiceAccount
- AsyncServiceAccount
- VSSWriterServiceAccount
- MonitoringServiceAccount

domain\sa-crm-crmservice
domain\sa-crm-sandbox
domain\sa-crm-deployment
domain\sa-crm-async
domain\sa-crm-vsswriter
domain\sa-crm-monitoring

Website-Pfad Website, welche vom CRM benutzt werden soll. /LM/W3SVC/1
Installations-Pfad Dort hin, wird das CRM installiert. c:\Program Files\Microsoft Dynamics CRM
Reporting Services URL   http://MyReportingServer/ReportServer
Datenbank Servername Servername in Form von SERVER\INSTANZ srv-sql.domain.com
Lizenz-Key Gültiger Lizenz-Key CQWW3-TNXBF-HRQWC-CVTW9-M968H
XML-Config-Datei Mit den obenstehenden Informationen kann nun die XML-Datei erstellt werden und sieht wie folgt aus:


<CRMSetup>			
	<Server>		
		<Patch update="false"></Patch>	
		<LicenseKey>CQWW3-TNXBF-HRQWC-CVTW9-M968H</LicenseKey>	
		<SqlServer>srv-sql.domain.com</SqlServer>	
		<Database create="true"/>	
		<Organization>Default</Organization>	
		<OrganizationUniqueName>Default</OrganizationUniqueName>	
		<muoptin optin="false" />	
			
		<Reporting URL="http://MyReportingServer/reportserver"/>	
		<OrganizationCollation>Latin1_General_CI_AI</OrganizationCollation>	
		<basecurrency isocurrencycode="CHF" currencyname="Schweizer Franken" currencysymbol="Fr." currencyprecision="2"/>	
			
		<WebsiteUrl Create="False" port="80">/LM/W3SVC/1</WebsiteUrl>	
		<SQM optin="false"/>	
		<InstallDir>c:\Program Files\Microsoft Dynamics CRM </InstallDir>	
			
		<CrmServiceAccount type="DomainUser">	
			<ServiceAccountLogin>domain\sa-crm-crmservice</ServiceAccountLogin>
			<ServiceAccountPassword></ServiceAccountPassword>
		</CrmServiceAccount> 	
			
		<SandboxServiceAccount type="DomainUser">	
			<ServiceAccountLogin>domain\sa-crm-sandbox</ServiceAccountLogin>
			<ServiceAccountPassword></ServiceAccountPassword>
		</SandboxServiceAccount> 	
			
		<DeploymentServiceAccount type="DomainUser">	
			<ServiceAccountLogin>domain\sa-crm-deployment</ServiceAccountLogin>
			<ServiceAccountPassword></ServiceAccountPassword>
		</DeploymentServiceAccount> 	
			
		<AsyncServiceAccount type="DomainUser">	
			<ServiceAccountLogin>domain\sa-crm-async</ServiceAccountLogin>
			<ServiceAccountPassword></ServiceAccountPassword>
		</AsyncServiceAccount>	
			
		<VSSWriterServiceAccount type="DomainUser">	
			<ServiceAccountLogin>domain\sa-crm-vsswriter</ServiceAccountLogin>
			<ServiceAccountPassword></ServiceAccountPassword>
		</VSSWriterServiceAccount> 	
			
		<MonitoringServiceAccount type="DomainUser">	
			<ServiceAccountLogin>domain\sa-crm-monitoring</ServiceAccountLogin>
			<ServiceAccountPassword></ServiceAccountPassword>
		</MonitoringServiceAccount>	
			
		<Groups autogroupmanagementoff="true">	
			<PrivUserGroup>CN=PrivUserGroup,OU=CRM,DC=sales,DC=domain,DC=com</PrivUserGroup>
			<SQLAccessGroup>CN=SQLAccessGroup,OU=CRM,DC=sales,DC=domain,DC=com</SQLAccessGroup>
			<ReportingGroup>CN=ReportingGroup,OU=CRM,DC=sales,DC=domain,DC=com</ReportingGroup>
			<PrivReportingGroup>CN=PrivReportingGroup,OU= CRM,DC=sales,DC=domain,DC=com</PrivReportingGroup>
		</Groups>	
			
	</Server>		
</CRMSetup>			
	


Tipp
: Damit die XML-Datei nicht bei jeder Installation immer wieder neu gemacht werden muss, kann die folgende Excel-Datei zur Generierung des XML verwendet werden: Download

Weitere Informationen und Beispiel-XML-Dateien können hier gefunden werden:
http://technet.microsoft.com/en-us/library/hh699830(v=crm.6).aspx

Installation Nachdem die XML-Datei erstellt worden ist, kann die Installation wie folgt gestartet werden: 

SetupServer.exe /config crminstall.xml

Weitere informationen zu der Installation mit Hilfe des Command-Prompts können hier gefunden werden:
http://technet.microsoft.com/en-us/library/hh699659(v=crm.6).aspx


Neues CRM, neue Server Rollen, neue Services

Wer schon einmal einen CRM 2013 Server installiert hat, dem ist sicher aufgefallen, dass zwei neue Server-Rollen dazugekommen sind:

image

Nebst diesen beiden neuen Rollen resp. Services ist der Service “Monitoring Service” dazu gekommen.

Folgende Tabelle gibt einen Überblick der neuen Server-Rollen und Services:

Server-Rolle Windows-Service Bechreibung
VSS Writer Service - Dieser Service stellt ein Interface für Backup und Wiederherstellung von CRM Daten mit Hilfe einer Server Volume Shadow Copy Service (VSS) Infrastruktur zur Verfügung.
Email Integration Service - Die Rolle ist zuständig für das Empfangen und Senden von E-Mails mit Hilfe eines E-Mail-Servers. Diese Rolle ist eine Teil des Server-Side Synchronisation Features, welches mit CRM 2013 neu eingeführt worden ist und in diversen Szenarien den E-Mailrouter ersetzt.
- Monitoring Service Dieser Service wird zusammen mit jeder CRM Rolle installiert. Er überwacht die installierten Server-Rollen und hat ausserdem die Aufgabe, abgelaufene Zertifikate zu finden, welche das CRM System beinflussen könnten. Der Service logged alle Befunde im Event Log. (Source: MSCRMMonitoringServerRole)