Office365アカウントユーザを作成して、ライセンスの付与、利用できるサービスの制限をPowershellを利用して、スクリプト化します。
手動でのアカウント作成やライセンス付与はミスが発生する可能性が高いためスクリプトで実行するのが生産性も高くなります。
更に人事系システムと連携すれば、入社日に合わせて社内ポリシーに適用させたOffice365アカウントを自動発行することも可能になります。
参考にする過去のエントリー一覧
ユーザアカウントを作成
パスワードの一括設定(今回はアカウント作成時にパスワードまで設定するので未使用)
利用できるサービスを制限
CSVファイルを準備
準備するファイルが2つあります。
・無効にするサービスの一覧
まずは新規に作成するユーザアカウントの一覧をCSV形式で準備します。
UserPrincipalName,DisplayName,FirstName,LastName,Department,Password
user1@example.com,user1,user,1,Sales,Pass0001
user2@example.com,user2,user,2,Sales,Pass002
user3@example.com,user3,user,3,Sales,Pass003
CSVファイルはUTF-8形式で保存してください。
※Excelで作成して、保存する時に「CSV UTF-8(コンマ区切り)(*.csv)」を選択
続いて、無効にするサービスの一覧をtxt形式で作成します。
※ヘッダーは不要です
TEAMS1
SWAY
BPOS_S_TODO_1
新規でユーザを作成するとライセンスに紐づく全てのサービスが「有効」になっているため、不要なサービスを「無効」にします。
注意して欲しいのは無効にするサービスの一覧であって、有効にするサービスの一覧ではありません。
ライセンスに紐づくサービス一覧の取得などについてはこちらのエントリーを参照してください。
Powershellファイルの作成
次の条件でPowerShellのファイルを作成します。
・新規に作成するユーザの一覧「C:\temp\UserList.csv」
・無効にするサービスの一覧「C:\temp\DisabledServiceList.txt」
下記構文の「xxxx:ENTERPRISEPACK」を環境に合わせて書き換えてください。
# 新規ユーザ作成ファイル読込
$UserLists = Import-Csv -Path "C:\temp\UserList.csv"
# サービス制限リスト読込
$ServicePlans = Get-Content -Path "C:\temp\DisabledServiceList.txt"
# ライセンス設定
$License = "xxxx:ENTERPRISEPACK"
foreach($User in $UserLists){
# 新規ユーザ作成
New-MsolUser -UserPrincipalName $User.UserPrincipalName -DisplayName $User.DisplayName -FirstName $User.FirstName -LastName $User.LastName -Department $User.Department -LicenseAssignment -Password $User.Password $License -UsageLocation JP -ForceChangePassword $False
# サービス制限
$Licenseoptions = New-MsolLicenseOptions -AccountSkuId $License -DisabledPlans $ServicePlans
Set-MsolUserLicense -UserPrincipalName $User.UserPrincipalName -LicenseOptions $Licenseoptions
}
これをテキストエディタ(メモ帳など)で作成して、C:\tempにファイル名「AddAcount.ps1」保存します。
PowerShellの実行
作成したAddAcount.ps1を実行します。
Azure Active Directory PowerShellモジュールを使用します。
PowerShellを管理者で起動してAzure ADに接続します。
接続方法についてはこちらをご覧ください。
PS C:\Windows\system32> cd C:\temp
PS C:\temp> .\AddAcount.ps1