Netwrix 1Secureは、データとアイデンティティ全体にわたる統合された可視性を提供します。14日間の無料トライアルでフルアクセス可能です。無料トライアルを開始

リソースセンターブログ

Office 365 アカウントを作成し、ライセンスを割り当て、無効化して削除する方法

Office 365 アカウントを作成し、ライセンスを割り当て、無効化して削除する方法

Mar 17, 2023

Office 365 には、Exchange Online、SharePoint Online、OneDrive for Business など、ユーザー間のコミュニケーションとコラボレーションを促進するさまざまなサービスが含まれています。とはいえ、Office 365 のサービスを利用するには、各ユーザーがライセンスを割り当てた Office 365 の自分専用のユーザー アカウントを持っている必要があります。使われなくなったユーザー アカウントからライセンスを簡単に削除し、別のユーザー アカウントに再割り当てできます。

このブログ記事では、Office 365 アカウントを素早く効率的に作成する方法、適切なライセンスを割り当てる方法、そして不要になった Office 365 アカウントを削除する方法について説明します。これらの作業を Office 365 で PowerShell を使って実現する方法を共有します。Office 365 管理センターは、ほとんどの管理タスクにおける出発点であり、Azure Active Directory、Exchange Online、SharePoint Online、Skype for Business Online のサービス固有の管理センターへのリンクも含まれていますが、いくつかの高度なタスクは PowerShell を使用してのみ実行できます。さらに、PowerShell コマンドの構文は非常に頻繁には変わらないため、PowerShell は長期的な管理用途に適しています。

Office 365 への接続

これらの作業を行う最初の手順は、ローカル マシンから Office 365 への PowerShell セッションを開くことです。このプロセスを簡単にするためのスクリプトを作成しました。テキスト ファイルにそのまま貼り付けて、ファイルを拡張子 .PS1 で保存してください。接続する準備ができたら、PowerShell コンソール ウィンドウに移動し、「scriptname.ps1」(ピリオド、バックスラッシュ、ファイル名)と入力してスクリプトを実行し、プロンプトが表示されたら Office 365 の管理者資格情報を入力します。

      $URL = "https://ps.outlook.com/powershell"

$Credentials = Get-Credential -Message "Enter your Exchange Online or Office
 
365 administrator credentials"

$CloudSession = New-PSSession -ConfigurationName Microsoft.Exchange -Connect

ionUri $URL -Credential $Credentials -Authentication Basic -AllowRedirection
 
-Name "Office 365/Exchange Online"

Import-PSSession $CloudSession –Prefix “365”
      

このスクリプトの最後の cmdlet にある -Prefix パラメーターは、ハイブリッド展開では重要です。スクリプトを純粋にクラウド環境で実行したい場合は、このパラメーターを削除できます。ハイブリッド環境で必要になる理由は、cmdlet のネームスペースが衝突してしまうことがあるためです。たとえば、オンプレミスの Exchange Server と Office 365 の Exchange Server の両方が稼働している状態で New-Mailbox コマンドを実行すると、PowerShell は、新しいユーザー メールボックスをローカルで作成するのか、共有メールボックスをクラウドで作成するのかといった判断ができません。これを解決するために、このスクリプトは接頭辞「365」を付けて Office 365 の cmdlet ネームスペースを読み込みます。したがって、クラウドで実行する必要があるすべての Exchange cmdlet には「365」という接頭辞を付けて名前を付ける必要があります(例:「New-365Mailbox」や「Get-365DistributionGroup」)。一方で、ローカル展開で実行する必要がある Exchange cmdlet は、デフォルトのまま変更せずに残してください。これにより、両者を非常に簡単に見分けられます。

Office 365 アカウントを作成する

Office 365 に接続したら、アカウントを 1 件ずつ作成することも、まとめてバッチで作成することもできます。

新しい Office 365 ユーザーを 1 人プロビジョニングするには、次のスクリプトを使用します。

      New-MsolUser -DisplayName "Employee Name Here" -FirstName FirstName -LastName LastName -UserPrincipalName alias@yourtenant.onmicrosoft.com –UsageLocation US
      

ユーザーが米国以外にいる場合は、「US」を適切な2文字のISO国コードに置き換えてください。これは必須項目です。Office 365が、ユーザーがどの国からサービスにアクセスするかを把握するまで、ライセンスを割り当てることはできません(次のセクションで説明します)。

複数の新しい Office 365 ユーザー アカウントを同時にプロビジョニングするには、次の構造の CSV ファイルを作成します。

      UserPrincipalName,FirstName,LastName,DisplayName,UsageLocation

      

たとえば、以下に 3 件の例を示します。

      newuser1@yourtenant.onmicrosoft.com,John,Smith,John Smith,US

newuser2@yourtenant.onmicrosoft.com,Greg,Jones,Greg Jones,US

newuser3@yourtenant.onmicrosoft.com,Jacob,Rogers,Jacob Rogers,UK
      

次に、PowerShell を使って CSV ファイルをインポートし、その内容を New-Msoluser コマンドにパイプします。たとえば次のようにします:

      Import-Csv -Path "C:newusers.csv" | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName} –UsageLocation $_.UsageLocation | Export-Csv -Path "C:newuserresults.csv"
      

このスクリプトはユーザー アカウントを作成し、さらに、新しいユーザーと、そのユーザーのために自動生成されたパスワードを一覧にした新しい CSV ファイルも書き込みます。作成後、このファイルをユーザーと共有できます。

ライセンスの割り当て

Office 365 でアカウントを作成するだけでは不十分です。何かを実行できるようにするには、ユーザーのアカウントにライセンスを割り当てる必要があります。ライセンスの種類によって、サービスのさまざまな機能が「有効化」されます。アカウント作成後、30日以内にそのアカウントへライセンスを割り当ててください。一般的には、同一ファミリー内でライセンスを組み合わせて使えるため、たとえば一部のユーザーは E3 プラン、別のユーザーは E1、さらに別のユーザーは E5 を持つことができます。

Get-MsolAccountSku cmdlet を使用して、組織内で利用可能なライセンス プランと利用可能なライセンスを確認し、Get-Msoluser を使用してテナント内のすべてのユーザーのライセンス状態を確認します。

ライセンスを割り当てるには、Set-MsolUserLicense cmdlet を使用します。たとえば、Office 365 Enterprise E3 プラン(PowerShell では “ENTERPRISEPACK” として表示されます)をユーザーに割り当てるには、次のコマンドを使用します:

      Set-MsolUserLicense -UserPrincipalName "newuser1@yourtenant.onmicrosoft.com" -AddLicenses "yourorgname:ENTERPRISEPACK"
      

現在、ライセンスが割り当てられていないすべてのユーザーに E3 ライセンスを割り当てるには、次の 2 つのコマンドを使用します。

      $UsersWithoutALicense = Get-MsolUser -All -UnlicensedUsersOnly

$UsersWithoutALicense | foreach {Set-MsolUserLicense -AddLicenses "yourorgname:ENTERPRISEPACK"}
      

ライセンスの購入先

組織のライセンスは、いくつかの方法で取得できます。

  • Office 365 の Web ポータルから Microsoft へ直接申し込み。ほとんどの組織にとって、これはサービスを購入する最も直接的な方法です。必要な数量のライセンスをカートに追加し、クレジットカードで購入するだけで、一般的にすぐに利用可能になります。
  • ボリューム ライセンス契約を通じて。この方法では組織向けの割引を活用できる場合がありますが、ライセンス用のコードを受け取るまでにしばらく時間がかかります。コードを受け取ったら、Web ポータルでコードを引き換えます(現時点では、PowerShell を使ってライセンスを引き換える方法はありません)。
  • リセラー経由。場合によっては、リセラー経由で Office 365 を購入する方が、より費用対効果が高いことがあります。リセラーが、コアとなる Office 365 に加えて、オンライン バックアップや強化されたスパム フィルタリングなどの追加サービスをまとめて提供している場合があるためです。この場合、ライセンスの引き換え(償還)方法は異なりますが、リセラーが手順を案内します。

ユーザーのブロック

ユーザーが休暇中、またはその他の理由で一時的に不在の場合、その Office 365 アカウントを無効化できます(O365 の用語では、ユーザー アカウントを「ブロック」します)。これにより、誰もそのアカウントを使ってサインインできなくなります。ユーザー アカウントは削除したくないものの、対象ユーザーが長期間にわたってそれを必要としないのであれば、これは良いセキュリティ上の予防策です。PowerShell のコマンドを 1 つ実行すれば完了します:

      Set-MsolUser -UserPrincipalName newuser2@yourtenant.onmicrosoft.com -BlockCredential $true
      

ブロックを解除するには、当然このコマンドを使用します:

      Set-MsolUser -UserPrincipalName newuser2@yourtenant.onmicrosoft.com -BlockCredential $false
      

Office 365 のユーザー アカウントを削除する

ユーザーが退職して会社を離れた場合、または Office 365 をもう使用する必要がなくなった場合は、そのユーザー アカウントを削除したくなるでしょう。PowerShell なら、この作業も簡単にできます。

      Remove-MsolUser -UserPrincipalName newuser2@yourtenant.onmicrosoft.com
      

このコマンドはユーザー アカウントを削除するだけでなく、Office 365 のライセンスの割り当ても自動的に削除し、削除したライセンス インスタンスを一般プールに戻します。これにより、将来別のアカウントに再割り当てできる状態になります。

Office 365 アカウントを削除した後でも、退職した従業員のメールボックスへのアクセスを維持する方法についてのヒントは、Exchange Online の章を参照してください。

共有する

もっと詳しく

著者について

Asset Not Found

Jonathan Hassell

コンサルタント

幅広い IT トピックに関する著者、コンサルタント、講演者。Jonathan は Windows Server および関連製品に関する書籍を執筆しており、ネットワーキングやセキュリティから Windows の管理まで、さまざまなテーマについて世界各地で講演を行っています。