Microsoft 365 / PowerShell / Microsoft Graph

Microsoft Graph PowerShell은 관리자와 개발자가 Microsoft Graph API를 PowerShell cmdlet을 사용하여 상호 작용할 수 있게 해주는 모듈입니다. 이 모듈은 Azure Active Directory(Azure AD), SharePoint, Teams 등과 같은 Microsoft 365 서비스와 관련된 자동화 작업을 간소화합니다.

실행 정책 확인

  • 현재 실행 정책을 확인합니다.
Get-ExecutionPolicy
  • 만약 Restricted라고 나오면 아래와 같이 명령하여 RemoteSigned로 바꿉니다.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

모듈 설치 및 연결

모듈 설치

  • Microsoft Graph 모듈을 설치합니다.
Install-Module Microsoft.Graph -Scope CurrentUser

연결

  • Microsoft Graph에 연결합니다. 아무런 옵션이 없으면 권한은 User.Read입니다.
Connect-MgGraph
  • 작업에 필요한 적절한 권한을 부여할 수 있습니다. 다음과 같이 하면 모든 사용자의 프로필 정보를 읽고 모든 그룹을 읽고 업데이트할 수 있는 권한을 부여합니다.
Connect-MgGraph -Scopes "User.Read.All", "Group.ReadWrite.All"
  • 자주 사용되는 권한은 다음과 같습니다.
    사용자 관련 권한
    User.Read : 사용자가 로그인한 사용자에 대한 기본 프로필 정보를 읽습니다.
    User.ReadBasic.All : 모든 사용자의 기본 프로필 정보를 읽습니다.
    User.Read.All : 모든 사용자의 전체 프로필 정보를 읽습니다.
    User.ReadWrite : 로그인한 사용자의 프로필을 읽고 업데이트합니다.
    User.ReadWrite.All : 모든 사용자의 프로필을 읽고 업데이트합니다.
    그룹 관련 권한
    Group.Read.All : 모든 그룹의 기본 정보(예: 이름, 설명)를 읽습니다.
    Group.ReadWrite.All : 모든 그룹의 기본 정보를 읽고 업데이트합니다.
    GroupMember.Read.All : 모든 그룹의 멤버 정보를 읽습니다.
    GroupMember.ReadWrite.All : 모든 그룹의 멤버 정보를 읽고 업데이트합니다.
  • 전체 권한 목록은 다음 링크에 있습니다.
    https://learn.microsoft.com/ko-kr/graph/permissions-reference

연결 끊기

  • 연결을 끊고 싶다면 다음과 같이 명령합니다.
Disconnect-MgGraph

사용자 관리

사용자 조회

  • 모든 사용자의 DisplayName, Id, Mail, UserPrincipalName을 출력합니다.
Get-MgUser -All
  • 사용자 abc@manualfactory.net의 모든 속성을 출력합니다.
Get-MgUser -UserId abc@manualfactory.net | Select *

사용자 생성

  • 성 : 가
    이름 : 가나
    표시 이름 : 가 가나
    사용자 이름 : gnga@manualfactory.net
    비밀번호 : xxxxxxxx
$PasswordProfile = @{ Password = 'xxxxxxxx' }
New-MgUser -Surname '가' -GivenName '가나' -DisplayName '가 가나' -UserPrincipalName 'gnga@manualfactory.net' -MailNickName 'gnga' -PasswordProfile $PasswordProfile -AccountEnabled

사용자 삭제

 

라이선스 관리

  • 보유한 라이선스를 출력합니다.
Get-MgSubscribedSku -All | Select *
  • 특정 사용자에게 할당된 라이선스를 출력합니다.
Get-MgUserLicenseDetail -UserId abc@manualfactory.net
  • 특정 사용자에게서 라이선스를 제거합니다. SkuId는 라이선스 정보에서 확인합니다.
Set-MgUserLicense -UserId abc@manualfactory.net -RemoveLicenses @{ SkuId = "xxxx" }

 

기타

Get-MgUser 에러

Get-MgUser 명령 시 다음과 같은 에러가 뜬다면

Get-MgUser : 'Get-MgUser' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다.

Microsoft.Graph.Users를 설치합니다.

Install-Module Microsoft.Graph.Users -Scope CurrentUser

 

같은 카테고리의 다른 글
엑셀 / VBA / 매크로 단축키 만들기, 매크로 실행 버튼 만들기

엑셀 / VBA / 매크로 단축키 만들기, 매크로 실행 버튼 만들기

기존 매크로에 단축키, 도형과 양식 컨트롤 단추를 연결하는 방법을 설명합니다. 기본 단축키 충돌과 다른 파일을 참조하는 버튼의 점검 방법도 안내합니다.

엑셀 / 특정 문자 앞, 특정 문자 뒤 텍스트 추출하는 방법

엑셀 / 특정 문자 앞, 특정 문자 뒤 텍스트 추출하는 방법

구분자 앞뒤 문자열을 LEFT·RIGHT·FIND·LEN으로 추출합니다. 첫 구분자 기준의 동작, 없는 구분자의 처리 및 TEXTBEFORE·TEXTAFTER 대안도 설명합니다.

아웃룩 / 규칙 만들기 / 보낸 사람에 따라 다른 폴더에 메일 저장하는 방법

아웃룩 / 규칙 만들기 / 보낸 사람에 따라 다른 폴더에 메일 저장하는 방법

자주 메일이 오지만, 당장 읽을 필요도 없고, 그렇다고 삭제하기도 애매한 메일이 있나요? 저에게는 Microsoft에서 오는 메일이 그렇습니다. Microsoft 365 Business Basic을 구입했더니 Office365 Message Center에서 거의 매일 메일이 옵니다. Office 365에 어떤 변화가 있는지 알려주는 메일인데, 읽을 일이 거의 없습니다. 이상하다 싶으면 그 때 찾아보면 되니까요. 그 메일들이 아웃룩의 받은 편지함에 ...

Microsoft 365 / Loop / 메모

Microsoft 365 / Loop / 메모

민감도 레이블로 인해 작업 영역이 삭제되지 않는 경우 삭제 방법 Loop 작업 영역에 아래처럼 민감도 레이블이 적용된 경우 삭제를 할 수 없습니다. 에서 삭제할 수 있습니다.

파워포인트 / 페이지 번호 넣는 방법

파워포인트 / 페이지 번호 넣는 방법

슬라이드 번호를 넣고 마스터에서 위치·서식을 통일하는 방법을 설명합니다. 번호가 안 보이는 경우와 시작 번호·전체 장수 표기의 차이도 안내합니다.

Microsoft 365 / 원드라이브(OneDrive) / 동기화, 백업하는 방법

Microsoft 365 / 원드라이브(OneDrive) / 동기화, 백업하는 방법

비즈니스용 원드라이브(OneDrive for Business)의 동기화 및 백업 기능은 기업 사용자들에게 중요한 데이터를 안전하게 보호하고 효율적으로 관리할 수 있도록 돕는 강력한 도구입니다. 동기화는 원드라이브의 데이터를 로컬 디바이스에서도 사용 가능하게 하는 기능입니다. 로컬 디바이스에서 작업한 것은 원드라이브에, 원드라이브에서의 변경 사항은 로컬 디바이스에 자동으로 반영됩니다. 백업은 바탕 화면, 문서, 사진 폴더를 원드라이브와 동기화하는 기능입니다. 파일 ...

파워포인트 / PPT 파일을 PDF 형식으로 저장하는 방법

파워포인트 / PPT 파일을 PDF 형식으로 저장하는 방법

파워포인트를 PDF로 저장하고 슬라이드 범위·유인물·품질 옵션을 선택하는 방법을 안내합니다. PDF에 유지되지 않는 애니메이션과 배포 전 검토 사항도 설명합니다.

파워포인트 / 암호 설정하는 방법, 암호 해제하는 방법

파워포인트 / 암호 설정하는 방법, 암호 해제하는 방법

열기 암호와 쓰기 암호의 차이를 구분하고 파워포인트에서 설정·해제하는 과정을 설명합니다. 암호 저장 후 확인 방법과 분실 시 주의사항도 함께 안내합니다.

엑셀 / 시트의 눈금선 없애는 방법

엑셀 / 시트의 눈금선 없애는 방법

보기 탭에서 눈금선을 숨기고 다시 표시하는 방법을 안내합니다. 셀 테두리와 인쇄 눈금선의 차이, 눈금선 색과 채우기 색의 영향도 설명합니다.

아웃룩 / Microsoft 365 메일(Exchange Online 메일) 추가하는 방법

아웃룩 / Microsoft 365 메일(Exchange Online 메일) 추가하는 방법

최신 버전의 아웃룩은 메일 계정 추가하는 게 쉬워졌습니다. 메일 주소만 입력하면 왠만한 설정은 알아서 해줍니다. 마이크로소프트에서 제공하는 Exchange Online이라면 더욱 쉽게 추가되겠죠? 아래는 Microsoft 365 등에 포함된 Exchange Online 메일 계정을 아웃룩에 추가하는 방법입니다. 아웃룩을 실행하고 을 클릭합니다. 를 클릭합니다. 다음과 같은 창이 나오면... 메일 주소를 입력하고 을 클릭합니다. 암호를 입력하고 을 클릭합니다. 적절히 설정하고 잠시 ...