Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
みなさん、こんにちは。
今日は管理者の方向けの情報として、PowerShell を使った Microsoft
Dynamics CRM ユーザー設定の更新を紹介します。設置型、オンライン
ともに利用可能です。
事前準備
PowerShell 4.0
今回利用する PowerShell モジュールは PowerShell 4.0 以上が必要と
なります。以下の方法でバージョンが確認可能です。
1. PowerShell を起動して、以下のコマンドを実行します。
PS C:\> host
2. Version にバージョン情報が表示されます。
バージョンが 4.0 より古い場合は、以下のページより新しいモジュールを
取得してください。
Windows Management Framework 4.0
https://www.microsoft.com/ja-jp/download/details.aspx?id=40855
Microsoft Dynamics CRM モジュール
Microsoft Dynamics CRM 用の PowerShell モジュールのインストールは
以下の記事をご覧ください。
Dynamics CRM: 組織用 PowerShell の紹介
サンプル
Microsoft Dynamics CRM のユーザー登録サンプルスクリプトは
以下の手順で利用できます。
1. ブラウザより以下のサイトにアクセスします。
https://gallery.technet.microsoft.com/scriptcenter/PowerShell-functions-for-16c5be31
2. Description にある Microsoft.Xrm.Data.Powershell Samples_日付.zip を
ダウンロードします。
3. ダウンロードした zip ファイルを解凍し、UpdateCrmUsersSettings
フォルダを任意の場所に保存します。
サンプルスクリプトの編集
UpdateCrmUsersSettings フォルダ内の UpdateCrmUsersSettings.ps1 を
任意のエディタで開きます。ここでは PowerShell ISE を利用します。
1. AddCrmOLUsersFromCSV.ps1 を右クリックし編集をクリックします。
2. 73 行目の $crmAdminUser に Dynamics CRM Online の管理者権限
があるユーザー名を入力します。
3. 74 行目の $crmAdminPassword に上記ユーザーのパスワードを
入力します。
4. 77 行目の $organizationName に設置型の場合は組織名を入力し、
オンラインの場合は $organizationName =”” とします。
5. 78 行目 の $serverUrl に設置型の場合はサーバーのアドレスを http か
https から指定し、オンラインの場合は $serverUrl = “” とします。
6. ユーザー設定のパラメーターを指定します。
$advancedFindStartupMode: 高度な検索のモードを指定します。
1 が簡易、2 が詳細です。
$timeZoneCode: ユーザーのタイムゾーンを指定します。タイムゾーンは
Get-CrmTimeZones で取得できます。
$pagingLimit: ページに表示できるレコード数を指定します。指定できる数字は
25、50、75、100、250 です。
$reportScriptErrorOption: スクリプトエラーが発生した場合の動作を指定します。
1 が 「エラー報告を Microsoft に送信するときに確認ダイヤログを表示する」
2 が 「確認ダイアログを表示せずに、自動的にエラー報告を Microsoft に送信する」
3 が 「Microsoft Dynamics CRM に関するエラー報告を Microsoft に送信しない」です。
$uiLanguageId: UI 言語を指定します。
$transactionCurrencyName: 通貨名を指定します。
7. スクリプトを保存します。
スクリプトの流れ
このサンプルスクリプトは、以下の順序で処理を行います。
- Dynamics CRM 設置型/Online 組織への接続作成
- 有効なユーザー一覧を読み込みます。
- ユーザー毎にユーザー設定を取得し、値を変更します。
注意点
- スクリプトはサンプルのため、検証環境で動作を試してください。
- 通貨や言語は事前に作成や有効化が必要です。
まとめ
今回は Microsoft Dynamics CRM Online ユーザーを作成するスクリプトを
紹介しましたが、サンプルには他にも色々なスクリプトが含まれています
ので、是非お試しください。
- 中村 憲一郎
Comments
Anonymous
November 10, 2015
いつも楽しく拝見させていただいております。 PowerShellからUserSettingsエンティティの更新について、質問させてください。 IsSendAsAllowed属性をfalseからtrueに更新したいのですが、PowerShellから更新ができません。 ちなみにtrueからfalseへの更新は可能なのですが... 何か情報をお持ちでしたら教えていただけないでしょうか。Anonymous
November 11, 2015
コメントありがとうございます。 ご連絡いただいた問題は新しいバージョンで修正されているため、お手数ですが最新のバージョンをダウンロードしていただき再度ご確認いただけますでしょうか。 ‐ 中村 憲一郎Anonymous
November 15, 2015
The comment has been removedAnonymous
November 16, 2015
コメントありがとうございます。 ご確認いただき、ありがとうございました。
- 中村 憲一郎
Anonymous
December 08, 2015
PowerShellでのユーザー情報の更新で、追加で質問させていただきます。 Office365全体管理者に対して、CRMの部署やセキュリティロールが更新できないのはCRMの製品仕様だと思いますが、 PowerShellメソッドの Set-CrmUserBusinessUnit や Add-CrmSecurityRoleToUser を実行するとエラーがcatchできません。(内部的には正常終了しているようです) CRMのUI側でエラーが表示されるようにPowerShell側でも異常を検知するか、 もしくは何か回避方法があれば教えていただけないでしょうか。Anonymous
December 08, 2015
The comment has been removedAnonymous
December 08, 2015
早々のご回答ありがとうございます。 改修を待ってから再調査することにします。Anonymous
December 14, 2015
先日バージョン 1.9 が公開されましたので、是非お試しください。 github.com/.../1.9
- 中村 憲一郎
- Anonymous
December 14, 2015
最新バージョンではメッセージを返すようになっていました。 ありがとうございます。