기술자료 (KB)/Power Platform
PowerApps - Entra ID 계정 수정
이완주
2025. 5. 23. 15:58
Entra ID의 계정을 수정하기 위해서는 먼저 계정을 불러와야 한다.
Office365사용자는 값을 수정 할 수는 없고 가지고 올 수 만 있다.
값을 수정하기 위해서는 MicrosoftEntraID를 이용했다.
MicrosoftEntraID는 Password에 대한 업데이트는 하지 못하여 추후 PowerAutomate를 이용하여 별도로 구성해야 한다.

아래 소스는 사용자 UPN을 가지고 MailNickname을 가지고 오는 예이다. 값이 없으면 오류가 나타나는 것을 방지 하기 위해 IfError로 처리 하였다.
IfError(Office365사용자.UserProfile(txt_SearchAccount.Text).MailNickname,"")
[구성 화면]

1. 사용자 계정을 UPN 값으로 넣으면 아래와 같이 Entra ID에서 계정 정보를 가지고 온다.
2. 변경하고자 하는 사용자 정보를 수정한다.
3. Update user 버튼을 눌러 Entra ID 값을 수정 한다.
값이 업데이트 되고 화면은 모두 초기화 된다.
값이 업데이트 되고 확인하는데 약간의 시간이 소요되는 것을 확인했다.
변경 전의 값이 나오면 10초 후 정도 다시 시도하면 정상적으로 값을 얻을 수 있다.

- con_EntraIDEditAccount:
Control: GroupContainer@1.3.0
Variant: ManualLayout
Properties:
Fill: =RGBA(217, 217, 216, 1)
Height: =628
Width: =805
X: =40
Y: =40
Children:
- con_EIDEA_Content:
Control: GroupContainer@1.3.0
Variant: ManualLayout
Properties:
Height: =523
Width: =Parent.Width - 40
X: =20
Y: =con_EIDEA_Top.Y + con_EIDEA_Top.Height + 10
Children:
- txt_userPrincipalName_1:
Control: Classic/TextInput@2.3.2
Properties:
BorderColor: =RGBA(245, 245, 245, 1)
Color: =RGBA(50, 49, 48, 1)
Default: |-
=//IfError(MicrosoftEntraID.GetUser(txt_SearchAccount.Text).mail,"")
IfError(Office365사용자.UserProfile(txt_SearchAccount.Text).UserPrincipalName,"")
DisabledBorderColor: =RGBA(0, 0, 0, 0)
DisabledColor: =RGBA(161, 159, 157, 1)
DisabledFill: =RGBA(242, 242, 241, 0)
Font: =Font.'Segoe UI'
HintText: ="userPrincipalName "
HoverBorderColor: =RGBA(16, 110, 190, 1)
HoverColor: =RGBA(50, 49, 48, 1)
HoverFill: =RGBA(255, 255, 255, 1)
PressedBorderColor: =RGBA(0, 120, 212, 1)
PressedColor: =RGBA(50, 49, 48, 1)
PressedFill: =RGBA(255, 255, 255, 1)
RadiusBottomLeft: =0
RadiusBottomRight: =0
RadiusTopLeft: =0
RadiusTopRight: =0
X: =408
Y: =55
- txt_department_1:
Control: Classic/TextInput@2.3.2
Properties:
BorderColor: =RGBA(245, 245, 245, 1)
Color: =RGBA(50, 49, 48, 1)
Default: =IfError(Office365사용자.UserProfile(txt_SearchAccount.Text).Department,"")
DisabledBorderColor: =RGBA(0, 0, 0, 0)
DisabledColor: =RGBA(161, 159, 157, 1)
DisabledFill: =RGBA(242, 242, 241, 0)
Font: =Font.'Segoe UI'
HintText: ="department"
HoverBorderColor: =RGBA(16, 110, 190, 1)
HoverColor: =RGBA(50, 49, 48, 1)
HoverFill: =RGBA(255, 255, 255, 1)
PressedBorderColor: =RGBA(0, 120, 212, 1)
PressedColor: =RGBA(50, 49, 48, 1)
PressedFill: =RGBA(255, 255, 255, 1)
RadiusBottomLeft: =0
RadiusBottomRight: =0
RadiusTopLeft: =0
RadiusTopRight: =0
X: =56
Y: =220
- txt_displayName_1:
Control: Classic/TextInput@2.3.2
Properties:
BorderColor: =RGBA(245, 245, 245, 1)
Color: =RGBA(50, 49, 48, 1)
Default: |-
=//IfError(MicrosoftEntraID.GetUser(txt_SearchAccount.Text).displayName,"")
IfError(Office365사용자.UserProfile(txt_SearchAccount.Text).DisplayName,"")
DisabledBorderColor: =RGBA(0, 0, 0, 0)
DisabledColor: =RGBA(161, 159, 157, 1)
DisabledFill: =RGBA(242, 242, 241, 0)
Font: =Font.'Segoe UI'
HintText: ="displayName "
HoverBorderColor: =RGBA(16, 110, 190, 1)
HoverColor: =RGBA(50, 49, 48, 1)
HoverFill: =RGBA(255, 255, 255, 1)
PressedBorderColor: =RGBA(0, 120, 212, 1)
PressedColor: =RGBA(50, 49, 48, 1)
PressedFill: =RGBA(255, 255, 255, 1)
RadiusBottomLeft: =0
RadiusBottomRight: =0
RadiusTopLeft: =0
RadiusTopRight: =0
X: =56
Y: |+
=110
- txt_Jobtitle_1:
Control: Classic/TextInput@2.3.2
Properties:
BorderColor: =RGBA(245, 245, 245, 1)
Color: =RGBA(50, 49, 48, 1)
Default: |-
=//IfError(MicrosoftEntraID.GetUser(txt_SearchAccount.Text).jobTitle,"")
IfError(Office365사용자.UserProfile(txt_SearchAccount.Text).JobTitle,"")
DisabledBorderColor: =RGBA(0, 0, 0, 0)
DisabledColor: =RGBA(161, 159, 157, 1)
DisabledFill: =RGBA(242, 242, 241, 0)
Font: =Font.'Segoe UI'
HintText: ="jobTitle "
HoverBorderColor: =RGBA(16, 110, 190, 1)
HoverColor: =RGBA(50, 49, 48, 1)
HoverFill: =RGBA(255, 255, 255, 1)
PressedBorderColor: =RGBA(0, 120, 212, 1)
PressedColor: =RGBA(50, 49, 48, 1)
PressedFill: =RGBA(255, 255, 255, 1)
RadiusBottomLeft: =0
RadiusBottomRight: =0
RadiusTopLeft: =0
RadiusTopRight: =0
X: =408
Y: =111
- tog_AccountEnable_1:
Control: Classic/Toggle@2.1.0
Properties:
BorderColor: =RGBA(0, 0, 0, 0)
BorderStyle: =BorderStyle.None
Color: =RGBA(50, 49, 48, 1)
Default: =IfError(Office365사용자.UserProfile(txt_SearchAccount.Text).AccountEnabled,"")
DisabledBorderColor: =RGBA(0, 0, 0, 0)
FalseFill: =RGBA(96, 94, 92, 1)
FalseHoverFill: =RGBA(50, 49, 48, 1)
FalseText: ="Disable"
FocusedBorderThickness: =4
Font: =Font.'Segoe UI'
Height: =34
HoverBorderColor: =RGBA(0, 0, 0, 0)
PressedBorderColor: =RGBA(0, 0, 0, 0)
TrueFill: =RGBA(0, 120, 212, 1)
TrueHoverFill: =RGBA(16, 110, 190, 1)
TrueText: ="Enable"
Width: =145
X: =408
Y: =223
- btn_Submit_1:
Control: Classic/Button@2.2.0
Properties:
BorderColor: =RGBA(0, 0, 0, 0)
BorderStyle: =BorderStyle.None
Color: =RGBA(255, 255, 255, 1)
DisabledBorderColor: =RGBA(0, 0, 0, 0)
DisabledColor: =RGBA(161, 159, 157, 1)
DisabledFill: =RGBA(242, 242, 241, 0)
DisplayMode: |-
=//If( lbl_WarringMessage.Text="",DisplayMode.Disabled,DisplayMode.Edit)
If(IsBlank(txt_userPrincipalName_1.Text) Or IsBlank(txt_displayName_1.Text),DisplayMode.Disabled,DisplayMode.Edit)
Fill: =RGBA(0, 120, 212, 1)
Font: =Font.'Segoe UI'
HoverBorderColor: =RGBA(0, 0, 0, 0)
HoverColor: =RGBA(255, 255, 255, 1)
HoverFill: =RGBA(16, 110, 190, 1)
OnSelect: "=// txt_businessPhones.Text 값이 null일 경우 공백 문자열(\" \")을 대신 사용하여 컬렉션(colbusinessPhone)을 생성\nClearCollect(colbusinessPhone, Coalesce(txt_businessPhones_1.Text, \" \"));\n\nMicrosoftEntraID.UpdateUser(\n txt_SearchAccount.Text, // 대상 사용자(UPN 또는 objectId)\n \n {\n /* ── 계정 정보 ───────────────────────────── */\n mailNickname: Coalesce(txt_mailNickname_1.Text, \"\"),\n userPrincipalName: Coalesce(txt_userPrincipalName_1.Text, \"\"),\n\n /* ── 인적 정보 ───────────────────────────── */\n surname: Coalesce(txt_surname_1.Text, \"\"), // 성\n givenName: Coalesce(txt_givenName_1.Text, \"\"), // 이름\n displayName: Coalesce(txt_displayName_1.Text, \"\"),\n\n /* ── 조직 정보 ───────────────────────────── */\n jobTitle: Coalesce(txt_Jobtitle_1.Text, \"\"), // 직책\n department: Coalesce(txt_department_1.Text, \"\"), // 부서\n\n /* ── 연락처 정보 ─────────────────────────── */\n mobilePhone: Coalesce(txt_mobilePhone_1.Text, \"\"),\n businessPhones: First(colbusinessPhone),\n\n /* ── 계정 상태(옵션) ────────────────────── */\n accountEnabled: tog_AccountEnable_1.Value // 토글 값 사용\n }\n);\n\n// 사용자 입력 필드 초기화\nReset(txt_SearchAccount);\n"
PressedBorderColor: =RGBA(0, 69, 120, 1)
PressedColor: =RGBA(255, 255, 255, 1)
PressedFill: =RGBA(16, 110, 190, 1)
RadiusBottomLeft: =0
RadiusBottomRight: =0
RadiusTopLeft: =0
RadiusTopRight: =0
Text: ="Update user"
X: =568
Y: =400
- txt_mailNickname_1:
Control: Classic/TextInput@2.3.2
Properties:
BorderColor: =RGBA(245, 245, 245, 1)
Color: =RGBA(50, 49, 48, 1)
Default: =IfError(Office365사용자.UserProfile(txt_SearchAccount.Text).MailNickname,"")
DisabledBorderColor: =RGBA(0, 0, 0, 0)
DisabledColor: =RGBA(161, 159, 157, 1)
DisabledFill: =RGBA(242, 242, 241, 0)
Font: =Font.'Segoe UI'
HintText: ="mailNickname"
HoverBorderColor: =RGBA(16, 110, 190, 1)
HoverColor: =RGBA(50, 49, 48, 1)
HoverFill: =RGBA(255, 255, 255, 1)
PressedBorderColor: =RGBA(0, 120, 212, 1)
PressedColor: =RGBA(50, 49, 48, 1)
PressedFill: =RGBA(255, 255, 255, 1)
RadiusBottomLeft: =0
RadiusBottomRight: =0
RadiusTopLeft: =0
RadiusTopRight: =0
X: =56
Y: =55
- txt_surname_1:
Control: Classic/TextInput@2.3.2
Properties:
BorderColor: =RGBA(245, 245, 245, 1)
Color: =RGBA(50, 49, 48, 1)
Default: |-
=//IfError(MicrosoftEntraID.GetUser(txt_SearchAccount.Text).surname,"")
IfError(Office365사용자.UserProfile(txt_SearchAccount.Text).Surname,"")
DisabledBorderColor: =RGBA(0, 0, 0, 0)
DisabledColor: =RGBA(161, 159, 157, 1)
DisabledFill: =RGBA(242, 242, 241, 0)
Font: =Font.'Segoe UI'
HintText: ="surname"
HoverBorderColor: =RGBA(16, 110, 190, 1)
HoverColor: =RGBA(50, 49, 48, 1)
HoverFill: =RGBA(255, 255, 255, 1)
PressedBorderColor: =RGBA(0, 120, 212, 1)
PressedColor: =RGBA(50, 49, 48, 1)
PressedFill: =RGBA(255, 255, 255, 1)
RadiusBottomLeft: =0
RadiusBottomRight: =0
RadiusTopLeft: =0
RadiusTopRight: =0
X: =56
Y: =165
- txt_givenName_1:
Control: Classic/TextInput@2.3.2
Properties:
BorderColor: =RGBA(245, 245, 245, 1)
Color: =RGBA(50, 49, 48, 1)
Default: =IfError(Office365사용자.UserProfile(txt_SearchAccount.Text).GivenName,"")
DisabledBorderColor: =RGBA(0, 0, 0, 0)
DisabledColor: =RGBA(161, 159, 157, 1)
DisabledFill: =RGBA(242, 242, 241, 0)
Font: =Font.'Segoe UI'
HintText: ="givenName"
HoverBorderColor: =RGBA(16, 110, 190, 1)
HoverColor: =RGBA(50, 49, 48, 1)
HoverFill: =RGBA(255, 255, 255, 1)
PressedBorderColor: =RGBA(0, 120, 212, 1)
PressedColor: =RGBA(50, 49, 48, 1)
PressedFill: =RGBA(255, 255, 255, 1)
RadiusBottomLeft: =0
RadiusBottomRight: =0
RadiusTopLeft: =0
RadiusTopRight: =0
X: =408
Y: =165
- txt_businessPhones_1:
Control: Classic/TextInput@2.3.2
Properties:
BorderColor: =RGBA(245, 245, 245, 1)
Color: =RGBA(50, 49, 48, 1)
Default: |+
=//IfError(MicrosoftEntraID.GetUser(txt_SearchAccount.Text).mail,"")
IfError(First(Office365사용자.UserProfile(txt_SearchAccount.Text).BusinessPhones).Value,"")
DisabledBorderColor: =RGBA(0, 0, 0, 0)
DisabledColor: =RGBA(161, 159, 157, 1)
DisabledFill: =RGBA(242, 242, 241, 0)
Font: =Font.'Segoe UI'
HintText: ="businessPhones"
HoverBorderColor: =RGBA(16, 110, 190, 1)
HoverColor: =RGBA(50, 49, 48, 1)
HoverFill: =RGBA(255, 255, 255, 1)
PressedBorderColor: =RGBA(0, 120, 212, 1)
PressedColor: =RGBA(50, 49, 48, 1)
PressedFill: =RGBA(255, 255, 255, 1)
RadiusBottomLeft: =0
RadiusBottomRight: =0
RadiusTopLeft: =0
RadiusTopRight: =0
X: =56
Y: =275
- txt_mobilePhone_1:
Control: Classic/TextInput@2.3.2
Properties:
BorderColor: =RGBA(245, 245, 245, 1)
Color: =RGBA(50, 49, 48, 1)
Default: =IfError(MicrosoftEntraID.GetUser(txt_SearchAccount.Text).mobilePhone,"")
DisabledBorderColor: =RGBA(0, 0, 0, 0)
DisabledColor: =RGBA(161, 159, 157, 1)
DisabledFill: =RGBA(242, 242, 241, 0)
Font: =Font.'Segoe UI'
HintText: ="mobilePhone"
HoverBorderColor: =RGBA(16, 110, 190, 1)
HoverColor: =RGBA(50, 49, 48, 1)
HoverFill: =RGBA(255, 255, 255, 1)
PressedBorderColor: =RGBA(0, 120, 212, 1)
PressedColor: =RGBA(50, 49, 48, 1)
PressedFill: =RGBA(255, 255, 255, 1)
RadiusBottomLeft: =0
RadiusBottomRight: =0
RadiusTopLeft: =0
RadiusTopRight: =0
X: =408
Y: =275
- con_EIDEA_Top:
Control: GroupContainer@1.3.0
Variant: ManualLayout
Properties:
Height: =60
Width: =Parent.Width - 40
X: =20
Y: =20
Children:
- txt_SearchAccount:
Control: Classic/TextInput@2.3.2
Properties:
BorderColor: =RGBA(245, 245, 245, 1)
Color: =RGBA(50, 49, 48, 1)
Default: =
DisabledBorderColor: =RGBA(0, 0, 0, 0)
DisabledColor: =RGBA(161, 159, 157, 1)
DisabledFill: =RGBA(242, 242, 241, 0)
Font: =Font.'Segoe UI'
HintText: ="수정하고자 하는 계정의 Mail 주소를 입력"
HoverBorderColor: =RGBA(16, 110, 190, 1)
HoverColor: =RGBA(50, 49, 48, 1)
HoverFill: =RGBA(255, 255, 255, 1)
PressedBorderColor: =RGBA(0, 120, 212, 1)
PressedColor: =RGBA(50, 49, 48, 1)
PressedFill: =RGBA(255, 255, 255, 1)
RadiusBottomLeft: =0
RadiusBottomRight: =0
RadiusTopLeft: =0
RadiusTopRight: =0
X: =409
Y: =10
- Label8:
Control: Label@2.5.1
Properties:
BorderColor: =RGBA(0, 0, 0, 0)
BorderStyle: =BorderStyle.None
BorderThickness: =2
Color: =RGBA(50, 49, 48, 1)
DisabledBorderColor: =RGBA(0, 0, 0, 0)
DisabledColor: =RGBA(161, 159, 157, 1)
FocusedBorderThickness: =4
Font: =Font.'Segoe UI'
FontWeight: =FontWeight.Bold
Text: ="Entra ID 계정 수정"
Width: =337
X: =16
Y: =10
[참고자료]
Microsoft Entra ID - Connectors
Additional resources In this article
learn.microsoft.com