氏名の生成(1)で作成した姓と名のファイルを使って、氏名を生成する。
(make_name.rb)
#!/usr/bin/env ruby file_name_family = File.open("name_family.txt","r") file_name_first = File.open("name_first.txt","r") array_name_family = [] array_name_first = [] file_name_family.each do |line| array_name_family.push(line.chomp) end file_name_first.each do |line| array_name_first.push(line.chomp) end (1..ARGV[0].to_i).each do |num| name_family, kana_family = array_name_family[rand(0..array_name_family.size-1)].split(/\t/) name_first, kana_first = array_name_first[rand(0..array_name_first.size-1)].split(/\t/) puts "#{name_family} #{name_first}\t#{kana_family} #{kana_first}\n" end
(name_family.txt)
$ more name_family.txt 大浦 Oura 細谷 Hosoya 野本 Nomoto デイビス Davis ...
(name_first.txt)
$ more name_first.txt 颯太 Sota 将司 Masashi 建吾 Kengo アレックス Alex ...
実行してみる。
$ ./make_name.rb 10 岡田 峻平 Okada Syunpei 細谷 ライアン Hosoya Ryan 竹内 朝飛 Takeuchi Asahi 辻 堅信 Tsuji Kenshin ラシード エドワード Rashid Edward 菊地 技 Kikuchi Takumi フリッピン 暢 Flippin Noboru カルファニ 祐眞 Calfani Yuma 山口 シャノン Yamaguchi Shannon 安藤 圭 Ando Kei
データを使ってみる
・Windows Server 2012評価版にActive Directoryをインストールした。
Active Directoryをインストールする
https://www.atmarkit.co.jp/ait/articles/1002/04/news106.html
Windows Server 2012 R2へのActive Directoryインストールと基本設定
https://www.rem-system.com/post-671/
・Active Directoryにユーザ登録するためのファイルを作成する。
make_name.rbを改修して、以下のファイルを作成した。
(写真部.txt)
Name,DisplayName,UserPrincipalName,Password,Department ChambersYoshiki,チェンバース 由毅,ChambersYoshiki@example.com,P@ssw0rd,写真部 WashburnTsubasa,ウォッシュバーン 翼,WashburnTsubasa@example.com,P@ssw0rd,写真部 TakedaKota,竹田 皓太,TakedaKota@example.com,P@ssw0rd,写真部 YamaguchiKai,山口 海,YamaguchiKai@example.com,P@ssw0rd,写真部 WatanabeYoshiyuki,渡辺 圭志,WatanabeYoshiyuki@example.com,P@ssw0rd,写真部 SakuraiYudai,桜井 優大,SakuraiYudai@example.com,P@ssw0rd,写真部 ThomasKimitake,トーマス 公威,ThomasKimitake@example.com,P@ssw0rd,写真部 FlippinShuhei,フリッピン 修平,FlippinShuhei@example.com,P@ssw0rd,写真部 ArayaRyoma,荒谷 竜馬,ArayaRyoma@example.com,P@ssw0rd,写真部 TajimaNick,多嶋 ニック,TajimaNick@example.com,P@ssw0rd,写真部
(書道部.txt)
Name,DisplayName,UserPrincipalName,Password,Department KirkTakashi,カーク 駿,KirkTakashi@example.com,P@ssw0rd,書道部 SakuraiTsubasa,桜井 翼,SakuraiTsubasa@example.com,P@ssw0rd,書道部 IkedaZack,池田 ザック,IkedaZack@example.com,P@ssw0rd,書道部 HosoyaJosh,細谷 ジョシュ,HosoyaJosh@example.com,P@ssw0rd,書道部 RossiterYuto,ロシター 裕土,RossiterYuto@example.com,P@ssw0rd,書道部 ShinoyamaNick,篠山 ニック,ShinoyamaNick@example.com,P@ssw0rd,書道部 NohmiNoboru,納見 暢,NohmiNoboru@example.com,P@ssw0rd,書道部 HayashiRyuto,林 龍斗,HayashiRyuto@example.com,P@ssw0rd,書道部 TakeuchiKotaro,竹内 孝太朗,TakeuchiKotaro@example.com,P@ssw0rd,書道部 OmiyaYuta,大宮 勇太,OmiyaYuta@example.com,P@ssw0rd,書道部 NomotoKenta,野本 健太,NomotoKenta@example.com,P@ssw0rd,書道部 SolomonShannon,ソロモン シャノン,SolomonShannon@example.com,P@ssw0rd,書道部
ユーザを登録する。
Active Directoryのユーザ登録をPower Shellで
https://blog.onodai.com/posts/2018-03-28-wed
C:\Users\Administrator>powershell Windows PowerShell Copyright (C) 2012 Microsoft Corporation. All rights reserved. PS C:\Users\Administrator> Import-Csv "C:\Users\Administrator\Desktop\写真部.txt" | %{New-ADUser -Name $_.DisplayName -DisplayName $_.DisplayName -Department $_.Department -UserPrincipalName $_.UserPrincipalName -sAMAccountName $_.Name -AccountPassword (ConvertTo-SecureString -AsPlainText $_.Password -Force) -ChangePasswordAtLogon $false -Enabled $true -PasswordNeverExpires $true} PS C:\Users\Administrator> Import-Csv "C:\Users\Administrator\Desktop\書道部.txt" | %{New-ADUser -Name $_.DisplayName -DisplayName $_.DisplayName -Department $_.Department -UserPrincipalName $_.UserPrincipalName -sAMAccountName $_.Name -AccountPassword (ConvertTo-SecureString -AsPlainText $_.Password -Force) -ChangePasswordAtLogon $false -Enabled $true -PasswordNeverExpires $true}
ユーザを検索する。
【 Get-ADUser 】コマンドレット――Active Directoryのユーザー一覧を参照する
https://www.atmarkit.co.jp/ait/articles/1705/09/news006.html
PS C:\Users\Administrator> get-aduser -filter {department -like "写真部"} DistinguishedName : CN=チェンバース 由毅,CN=Users,DC=example,DC=co,DC=jp Enabled : True GivenName : Name : チェンバース 由毅 ObjectClass : user ObjectGUID : 32b06525-fe9c-49f6-8068-e0b2cababfa6 SamAccountName : ChambersYoshiki SID : S-1-5-21-1987145385-2827726975-614161766-1154 Surname : UserPrincipalName : ChambersYoshiki@example.com DistinguishedName : CN=ウォッシュバーン 翼,CN=Users,DC=example,DC=co,DC=jp Enabled : True GivenName : Name : ウォッシュバーン 翼 ObjectClass : user ObjectGUID : 9d700c25-9c0e-4471-b0c8-061101452e3f SamAccountName : WashburnTsubasa SID : S-1-5-21-1987145385-2827726975-614161766-1155 Surname : UserPrincipalName : WashburnTsubasa@example.com DistinguishedName : CN=竹田 皓太,CN=Users,DC=example,DC=co,DC=jp Enabled : True GivenName : Name : 竹田 皓太 ObjectClass : user ObjectGUID : ac9f0d71-13d7-419f-9a6d-da7dc6fc4302 SamAccountName : TakedaKota SID : S-1-5-21-1987145385-2827726975-614161766-1156 Surname : UserPrincipalName : TakedaKota@example.com ... PS C:\Users\Administrator> get-aduser -filter {department -like "書道部"} DistinguishedName : CN=カーク 駿,CN=Users,DC=example,DC=co,DC=jp Enabled : True GivenName : Name : カーク 駿 ObjectClass : user ObjectGUID : fb9de1b0-b074-4ae3-aa48-d151ba061a90 SamAccountName : KirkTakashi SID : S-1-5-21-1987145385-2827726975-614161766-1164 Surname : UserPrincipalName : KirkTakashi@example.com DistinguishedName : CN=桜井 翼,CN=Users,DC=example,DC=co,DC=jp Enabled : True GivenName : Name : 桜井 翼 ObjectClass : user ObjectGUID : ba9ce318-404f-41e1-91b8-3599f9ba0a17 SamAccountName : SakuraiTsubasa SID : S-1-5-21-1987145385-2827726975-614161766-1165 Surname : UserPrincipalName : SakuraiTsubasa@example.com DistinguishedName : CN=池田 ザック,CN=Users,DC=example,DC=co,DC=jp Enabled : True GivenName : Name : 池田 ザック ObjectClass : user ObjectGUID : e9d7bdd1-873f-4cfb-902c-b41353c8b9f5 SamAccountName : IkedaZack SID : S-1-5-21-1987145385-2827726975-614161766-1166 Surname : UserPrincipalName : IkedaZack@example.com ...