Active Directoryからエクスポートしてファイルを作成する
Active Directoryからアカウント情報をCSVファイルにエクスポートし、ユーザー一括登録に使用します。

- Active Directoryからエクスポートしたファイルを使用してインポートするときは、ユーザーの追加だけをサポートしています。登録済みユーザー情報を編集したり、削除することはできません。

- Active Directoryのアカウント情報をエクスポートする操作については、Microsoft社のヘルプを参照してください。
前提条件
Active Directoryは次の条件を満たす必要があります。
- csvdeコマンド、またはGet-ADUserコマンドが利用可能
- User-Principal-Name の@より前と、SAM-Account-Nameに同じ値が設定されている
また、インポートファイル(Active DirectoryからエクスポートしたCSVファイル)は以下のどちらかの仕様に従って編集し、アップロードする必要があります。
エクスポートしたCSVファイルをそのままアップロードするとき/Excel以外で編集するときの仕様
- 文字コードはUTF-16とする
- 拡張子は「.csv」とする
エクスポートしたCSVファイルをExcelで編集するときの仕様
-
Excelの[ファイル]-[開く]からCSVファイルを選択し、「テキスト ファイル
ウィザード」画面で以下を選択してファイルを開くこと。
- 元のデータ形式:カンマやタブなどの区切り文字にとってフィールドごとに区切られたデータ
- 区切り文字:カンマ
- データは1シート目に入力する。シートが複数あるときは1シート目だけが対象となる。
- 編集後はExcelブック形式で保存する
- 拡張子は「.xlsx」とする
- マクロは動作しない
共通の仕様
- 記載されているユーザー数は150,000以内とする(一度にインポートできるのは150,000ユーザーまで)
- ファイルサイズは30MB以下とする
- 先頭行をキーとし、2行目以降をデータとして扱う
- 空行は無視される
エクスポート方法
csvdeコマンド、またはGet-ADUserコマンドを使用して、Active
Directoryのアカウント情報をエクスポートします。
エクスポートコマンド例: csvde
-
全ユーザーをエクスポートするとき
csvde -f <FileName> -u -r objectCategory=user -b <UserName> <Domain> <Password> -s <ServerName> -l userPrincipalName,mail,sn,givenName,sAMAccountName,department -
無効のユーザーを除いてエクスポートするとき
csvde -f <FileName> -u -r "(&(!(UserAccountControl:1.2.840.113556.1.4.803:=2))(objectCategory=user))" -b <UserName> <Domain> <Password> -s <ServerName> -l userPrincipalName,mail,sn,givenName,sAMAccountName,department
エクスポートコマンド例: Get-ADUser
-
全ユーザーをエクスポートするとき
Get-ADUser -Filter * -Server <ServerName>
-Credential (New-Object PSCredential('<Domain>\<UserName>', (Read-Host -AsSecureString 'Password')))
-Properties mail, department |
Select-Object
@{Name='sAMAccountName'; Expression={$_.SamAccountName}},
@{Name='sn'; Expression={$_.Surname}},
@{Name='givenName'; Expression={$_.GivenName}},
@{Name='userPrincipalName'; Expression={$_.UserPrincipalName}},
@{Name='mail'; Expression={$_.mail}},
@{Name='department'; Expression={$_.department}} |
Export-Csv -Path <FileName> -NoTypeInformation -Encoding Unicode -
無効のユーザーを除いてエクスポートするとき
Get-ADUser -Filter {Enabled -eq $true} -Server <ServerName>
-Credential (New-Object PSCredential('<Domain>\<UserName>', (Read-Host -AsSecureString 'Password')))
-Properties mail, department |
Select-Object
@{Name='sAMAccountName'; Expression={$_.SamAccountName}},
@{Name='sn'; Expression={$_.Surname}},
@{Name='givenName'; Expression={$_.GivenName}},
@{Name='userPrincipalName'; Expression={$_.UserPrincipalName}},
@{Name='mail'; Expression={$_.mail}},
@{Name='department'; Expression={$_.department}} |
Export-Csv -Path <FileName> -NoTypeInformation -Encoding Unicode
| Active Directory | 本サイトでの表示 | インポートファイルでのカラム名(csvde) | インポートファイルでのカラム名(Get-ADUser) | 備考 |
|---|---|---|---|---|
| User-Principal-Nameの@より前の部分 | ユーザーID | userPrincipalName | UserPrincipalName | 半角英数、ハイフン(-)、ドット(.)以外の文字は、アンダースコア(_)で置き換えされます。 |
| E-Mail-Addresses | メールアドレス | Active Directoryでは複数のユーザーに同一のメールアドレスを設定できますが、本サイトでは設定できません。そのため、複数のユーザーに同一のメールアドレスの情報があったときは、二番目以降のユーザーは登録エラーとなります。 | ||
| Surname | 姓 | sn | Surname | |
| Given-Name | 名 | givenName | GivenName | |
| SAM-Account-Name | 複合機 - 機器アカウント | sAMAccountName | SamAccountName | |
| Department | 部署 | department | department | |
| - | メール返信用言語 | - | - | インポートのときはメール返信用言語を設定できないため、自動的にテナントのメール返信用言語が設定されます。 |
| - | ロール | - | - | インポートのときはロールを設定できないため、自動的に一般ユーザーとなります。 |
エクスポートしたCSVのサンプル
-
CSVのサンプル例: csvde
DN,sAMAccountName,sn,givenName,userPrincipalName,mail,department"CN=user 0001,CN=Users,DC=example.com,DC=com",user0001,user,0001,user0001@example.com,test@example.com,department1"CN=user 0002,CN=Users,DC=example.com,DC=com",user0002,user,0002,user0002@example.com,test2@example.com,department2 -
CSVのサンプル例: Get-ADUser
"sAMAccountName","sn","givenName","userPrincipalName","mail","department""user0001","user","0001","user0001@example.com","test@example.com","department1""user0002","user","0002","user0002@example.com","test2@example.com","department2"