[AzureaD] csv를 사용하는 사용자 스크립트 추가
개시하다
AzureaD에서 csv를 사용하는 사용자를 추가하는 PowerShell 스크립트를 만들어 보았습니다. 지금부터 출력을 시작합니다.
※ 잘못된 처리 등은 충분히 고려하지 않았습니다.Azuread 학습의 일환으로 해봤어요.
작업 환경
항목
컨텐트
OS
Windows10 Pro
PowerShell 버전
5.1.19041.610
AzureaD(모듈)
2.0.2.76
※ AzureaD 등록(Office 365 E3 평가판)
확인
PS C:\WINDOWS\system32> Get-Module
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Binary 2.0.2.76 AzureAD {Add-AzureADApplicationOwner, Add-AzureADDeviceRegisteredOwner, Add-AzureADDeviceRegisteredUser, Add-AzureADDirectoryRoleMember...}
Script 5.8.2 AzureRM.profile {Add-AzureRmEnvironment, Clear-AzureRmContext, Clear-AzureRmDefault, Connect-AzureRmAccount...}
Script 1.0.0.0 ISE {Get-IseSnippet, Import-IseSnippet, New-IseSnippet}
Manifest 3.1.0.0 Microsoft.PowerShell.Management {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Content...}
Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Add-Member, Add-Type, Clear-Variable, Compare-Object...}
Script 1.4.6 PackageManagement {Find-Package, Find-PackageProvider, Get-Package, Get-PackageProvider...}
Script 1.0.0.1 PowerShellGet {Find-Command, Find-DscResource, Find-Module, Find-RoleCapability...}
PS C:\WINDOWS\system32> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.19041.610
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.19041.610
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
PS C:\WINDOWS\system32>
스크립트 흐름
읽을 csv 파일
users.csv
DisplayName,UPN,Location,MailNickname
TestTaro,ttest@contoso.com,JP,ttaro
YamadaSaburo,syamada@contoso.com,JP,syamada
※ 도메인 이름은 잠정적으로'contro.com'이다.csv 프로젝트 설명
항목
설명
입력 예
DisplayName
사용자 이름
TestTaro
UPN
사용자 인터페이스 이름
[email protected]
Location
사용처
JP
MailNickname
조직 내 사용자의 별칭
ttaro
스크립트 만들기
AzureAD_Useradd.ps1
###############################################
# 【AzureAD】ユーザー追加スクリプト
###############################################
# ①各種指定
## csvファイル指定
$users = Import-Csv "C:\Users\owner\Desktop\AzureAD\users.csv"
## ログ保存先指定
$Log = "C:\Users\owner\Desktop\AzureAD\Log"
# ②ログ取得開始
$formatted_date = (Get-Date).ToString("yyyyMMdd-hhmmdd")
Start-Transcript -Path ($Log + "\" + $formatted_date + ".log") | Out-Null
# ③csv事前確認
Write-Host "`r`n"
Write-Host "#####################################"
Write-Host "csv処理前事前確認"
Write-Host "#####################################"
Write-Host "※誤りがある場合は、「Ctrl+C」を押下"
$users | Format-Table
Read-Host "問題ない場合は、「Enter」を押下"
# ④パスワード指定(永続的にパスワード変更無しの設定も付与)
$PW=New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile
$PW.Password="P@ssw0rd"
$PW.ForceChangePasswordNextLogin=$false
# ⑤ユーザー追加処理
$msgBoxInput = [System.Windows.MessageBox]::Show('本当に実行して良いですか?','ユーザー追加処理前確認','YesNo','Question')
switch ($msgBoxInput) {
'Yes' {
Write-Host "#####################################"
Write-Host "AzureADへのユーザー追加処理"
Write-Host "-------------------------------------"
Write-Host "True :追加処理成功"
Write-Host "False:追加処理失敗"
Write-Host "#####################################"
foreach($user in $users){
# エラー無効化ON
$ErrorActionPreference = "silentlycontinue"
# csvの値を各変数に入力
$displayname = $user.DisplayName
$upn = $user.UPN
$location = $user.Location
$mailnickname = $user.MailNickname
# ユーザー作成処理
New-AzureADUser -DisplayName $displayname -UserPrincipalName $upn -PasswordProfile $PW -AccountEnabled $true -UsageLocation $location -MailNickName $mailnickname | Out-Null
# 結果確認処理
$result = echo $?
if($result -eq "True"){
Write-Host($displayname + ":True")
}else{
Write-Host($displayname + ":False") -ForegroundColor Red
}
# エラー無効化OFF
$ErrorActionPreference = "continue"
}
}
'No' {
Write-Host "スクリプトを終了します。"
exit
}
}
# ⑥ログ取得停止
Stop-Transcript | Out-Null
스크립트 실행 프로그램
사전 준비
Connect-AzureAD
스크립트 실행
csv 처리 전 사전 확인
#####################################
csv処理前事前確認
#####################################
※誤りがある場合は、「Ctrl+C」を押下
DisplayName UPN Location MailNickname
----------- --- -------- ------------
TestTaro ttest@contoso.com JP ttaro
YamadaSaburo syamada@contoso.com JP syamada
問題ない場合は、「Enter」を押下:
※ "아니오"를 누르면 다음과 같이 스크립트가 종료됩니다.
#####################################
AzureADへのユーザー追加処理
-------------------------------------
True :追加処理成功
False:追加処理失敗
#####################################
TestTaro:True
YamadaSaburo:True
스크립트 실행 후 확인
Get-AzureADUser
실행 예)※ Azuread의 관리 화면 링크는 다음과 같습니다.
Azure Active Directory admin center
최후
이러한 형식으로 AzureaD에 사용자를 추가할 수 있는 스크립트가 생성되었습니다.
아주레어드가 학습 중이기 때문에 앞으로 아주레어드 관련 지식을 출력할 계획이다.
※ 시간 되시면 유튜브에도 소개해드리고 싶어요.
내 유튜브 채널
Reference
이 문제에 관하여([AzureaD] csv를 사용하는 사용자 스크립트 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/supersatton/articles/b60123fae86dda텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)