Quantcast
Channel: Microsoft Office 365 Community
Viewing all articles
Browse latest Browse all 566

PowerShell を使用した Office 365 ユーザーの一括作成

$
0
0

 

対象: 新Office365 Office 365 Enterprise, Office 365 Small Business, Office 365 Midsize Business

(この記事は 2014 年 8 月 4 日に Hey, Scripting Guy! Blog  に投稿された記事 Use PowerShell to Create Bulk Users for Office 365の翻訳です。最新情報については、翻訳元の記事をご参照ください。)

 

概要: Microsoft Scripting Guy の Ed Wilson が、Office 365 ユーザーの一括作成について説明します。

こんにちは、Microsoft Scripting Guy こと Ed Wilson です。今朝は私のメンティーと少し話をしました。昨日メンターと面談したばかりなので、なんだかすべてがつながったような感じです。

最近このブログで、Office 365 や Windows PowerShell について多数の質問を受けていたので、そのことについても少し相談しました。

メモこの Hey, Scripting Guy! ブログでは、「Office 365 PowerShell の利用開始 (英語)」、「PowerShell を使用した Office 365 インストールの検索 (英語)」、「PowerShell を使用した Office 365 ユーザーの管理」などのトピックを扱ってきました。Office 365 と Windows PowerShell に関する基本的なタスクの詳細については、Hey, Scripting Guy! ブログ (英語)のシリーズ全体をご覧ください。

Office 365 への接続

最初にすべきことは、Office 365 テナント インストールへの接続です。

まず、資格情報を簡単に再利用できるように XML ファイルに保存します。Get-Credentialコマンドレットを呼び出して、表示されたダイアログ ボックスに資格情報を入力すると、XML ファイルに保存されます。資格情報をインポートするには、Import-Clixmlコマンドレットを使用します。再構成された Credentialオブジェクトを使用して接続します。コマンドは次のようになります。

PS C:\> Get-Credential "admin@ScriptingGuy.OnMicrosoft.Com" |

>>> Export-Clixml C:\fso\ScriptingGuyCredential.xml

PS C:\> $cred = Import-Clixml C:\fso\ScriptingGuyCredential.xml

PS C:\> Connect-MsolService -Credential $cred

次の図に示すように、Windows PowerShell コンソールには何も出力されません。

メモ Azure Active Directory (Azure AD) モジュールを更新するには、コントロール パネルからアンインストールした後、TechNet ライブラリの「Azure AD モジュールのインストール」からインストールします。

CSV ファイル経由でユーザーを一括作成する

今回は CSV ファイルを作成し、それを使用して Office 365 インストールのユーザーを一括作成します。ライセンスの割り当て、ライセンス オプション、使用場所の割り当てなどについては取り上げません。これらについては次回の記事でお話することにして、今回はユーザーの一括作成に焦点を絞ります。

Azure AD モジュールで Office 365 のユーザーを作成するには、New-MSOlUserコマンドレットを使用します。この構文は、標準 Active Directory モジュールの New-Userコマンドレットとよく似ています。オプションの数は多くありませんが、処理はほとんど同じです。New-MSOlUserコマンドレットの構文は次のとおりです。

NAME

New-MsolUser

SYNOPSIS

Adds a new user to Windows Azure Active Directory.

SYNTAX

New-MsolUser -DisplayName <string> -UserPrincipalName <string>

[-AlternateEmailAddresses <string[]>] [-AlternateMobilePhones <string[]>]

[-BlockCredential <Boolean>] [-City <string>] [-Country <string>] [-Department

<string>] [-Fax <string>] [-FirstName <string>] [-ForceChangePassword <Boolean>]

[-ImmutableId <string>] [-LastName <string>] [-LicenseAssignment <string[]>]

[-LicenseOptions <LicenseOption[]>] [-MobilePhone <string>] [-Office <string>]

[-Password <string>] [-PasswordNeverExpires <Boolean>] [-PhoneNumber <string>]

[-PostalCode <string>] [-PreferredLanguage <string>] [-State <string>]

[-StreetAddress <string>] [-StrongPasswordRequired <Boolean>] [-TenantId <Guid>]

[-Title <string>] [-UsageLocation <string>] [<CommonParameters>]

このコマンドレットは、情報を入力するだけで簡単に使用できます。以下に使用例を示します。

New-MsolUser -UserPrincipalName "ScriptingWife@ScriptingGuy.OnMicrosoft.Com" -City

Charlotte -State NC -Country USA -DisplayName ScriptingWife

このコマンドでは、パスワードを設定しませんでした。コマンドレットから返されるユーザー オブジェクトにパスワードが含まれるので、返されたオブジェクトの情報を Send-SMTPMailにパイプ処理して、ユーザー情報とパスワードをユーザーに送信します。パスワードを作成したり、ユーザーを新規作成する際にパスワードを設定したりする必要がないので、とても便利です。Windows PowerShell コンソールには次のように出力されます。

 

Office 365 テナント管理サイトに移動すると、Scripting Wife ユーザーが作成されていることを確認できます。

CSV ファイルを読み込んでユーザーを作成する

次に、CSV ファイルを読み込んでユーザーを一括作成します。そのためにまず CSV ファイルを作成します。私は CSV ファイルの作成に Microsoft Excel を使用しています。インターフェイスが使いやすく、メニューで CSV ファイルとして保存できるからです。

CSV ファイルからユーザーを New-MSOLUserコマンドレットに渡せるといいなと期待していたのですが、残念ながらエラーが発生してしまったので、ユーザーを Foreach-Objectコマンドレット経由でパイプ処理しなければなりません。このコマンドレットは場所に関するパラメーターにはあまり対応していないので、すべて手作業で行う必要があります。次のようになります。

$users = Import-Csv C:\fso\Office365Users.CSV

$users | ForEach-Object {

New-MsolUser -UserPrincipalName $_.UserPrincipalName -City $_.city -State $_.State -Country $_.Country -DisplayName $_.DisplayName }

コマンドとその出力は次の図に示すとおりです。

ユーザーを一括削除する

ユーザーを一括で削除したい場合、再度 CSV ファイルを使用します。先ほど作成したばかりのユーザーは、とても簡単に削除できます。New-MSOlUserコマンドレットの代わりに Remove-MsolUserコマンドレットを使用するだけです。また、–Forceパラメーターも使用します。このパラメーターを指定しないと、各ユーザーについてプロンプトが表示されてしまうので好ましくありません。–Forceパラメーターを使用しない場合のコマンドは次のようになります。

PS C:\> $users = Import-Csv C:\fso\Office365Users.CSV

PS C:\> $users | ForEach-Object { Remove-MsolUser -UserPrincipalName $_.userprincipalname}

Confirm

Continue with this operation?

[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):

上記のコマンドではなく、次のように –Forceパラメーターを指定して実行します。

$users | ForEach-Object { Remove-MsolUser -UserPrincipalName $_.userprincipalname -Force}

このコマンドは出力を返しません。

 

Azure AD モジュールを使用してユーザーを一括作成する方法については以上です。引き続き Office 365 Week として、明日も便利な情報をお届けします。

 

Twitter (英語)Facebook (英語)でも情報を発信していますので、ぜひフォローをお願いします。ご不明な点がございましたら、私のアドレス (scripter@microsoft.com) 宛てに電子メールをお送りいただくか、公式の Scripting Guys フォーラム (英語)に投稿してください。それではまた明日お会いしましょう。

 

Microsoft Scripting Guy こと Ed Wilson


Viewing all articles
Browse latest Browse all 566

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>