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

 

같은 카테고리의 다른 글
엑셀 / 시트의 눈금선 없애는 방법

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

눈금선 엑셀의 시트에는 선이 있어요. 모니터에만 나오고 인쇄할 때는 나오지 않는 선이에요. 이 선을 눈금선이라고 합니다. 눈금선이 있는 이유는 셀의 위치를 파악하기 쉽게 하려는 거에요. 눈금선 없이 한동안 써봤는데 꽤 불편하더군요. 눈금선이 있는 게 좋아요. 그런데, 눈금선이 있는 게 더 불편한 경우가 있어요. 바로 모양을 꾸밀 때에요. 인쇄용 보고서를 만들기 위해 선을 그리고 ...

워드 / 목차 만드는 방법

워드 / 목차 만드는 방법

워드로 글을 쓸 때 목차를 만드는 것이 좋습니다. 전체 목차를 먼저 정하면 글이 체계적이 되고, 문서를 탐색하기도 편합니다. 워드에서 목차를 만드는 방법은 수동 목차와 자동 목차가 있는데, 주로 사용하는 자동 목차를 어떻게 만드는지 알아보겠습니다. 스타일 적용 자동 목차는 스타일이 제목 1, 제목 2 등으로 지정된 문단을 가져와서 목차를 만듭니다. 따라서 목차를 만들기 기 ...

엑셀 / 함수 / SUM, SUMIF, SUMIFS / 합계 구하는 함수

엑셀 / 함수 / SUM, SUMIF, SUMIFS / 합계 구하는 함수

개요 SUM은 합을 구하는 함수이다. SUMIF와 SUMIFS는 조건에 맞는 값들의 합계를 구하는 함수이다. SUMIF는 조건이 하나일 때 사용하고, SUMIFS는 조건이 여러 개일 때 사용힌다.(조건이 하나일 때 SUMIFS를 사용해도 된다.) 구문 SUM SUM(number1, , ...) number1 : 필수 요소로, 합하려는 첫 번째 숫자 또는 범위 number2, ... : 선택 요소로, 합하려는 추가 숫자 또는 범위 SUMIF SUMIF(range, criteria, ) range : 필수 ...

엑셀 / VBA / 주석 만드는 방법

엑셀 / VBA / 주석 만드는 방법

코드는 남아있지만 실행되지 않는 것을 주석이라고 합니다. 주석은 메모를 남길 때 사용하기도 하고, 오류를 찾기 위해 한 줄 씩 실행할 때 사용하기도 합니다. 주석을 만드는 방법은 작은 따옴표를 다는 것입니다. 작은 따옴표 이후의 문자열은 실행되지 않습니다. 주석은 에디터에서 녹색으로 표현됩니다. 여러 줄을 주석으로 만들려면 각 줄에 작은 따옴표를 넣어야 하는데, 많은 양이라면 무척 ...

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

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

파워포인트 파일을 배포하는 가장 편한 방법은 PDF 형식으로 변환하는 것입니다. 파일을 받는 사람 PC에 파워포인트가 없어도 되고, PPT에 사용한 글꼴이 상대방 컴퓨터에 설치되어 있지 않아도 되고, PPT를 만드는 나만의 노하우을 숨길 수도 있습니다. 물론 애니메이션 효과 등은 포함할 수 없다는 단점도 있습니다. 파워포인트 문서를 PDF로 변환하는 방법은 여러 가지가 있지만, 파워포인트에 내장된 기능을 ...

워드 / 구역이 있는 문서 특정 페이지 또는 범위 인쇄하는 방법

워드 / 구역이 있는 문서 특정 페이지 또는 범위 인쇄하는 방법

워드에서 문서를 작성할 때 구역을 사용하는 경우가 있다. 이때 구역별로 페이지 번호가 새로 시작하도록 할 수 있다. 즉, 구역 1 : 페이지 1, 페이지 2, 페이지 3, 페이지 4, ⋯ 구역 2 : 페이지 1, 페이지 2, 페이지 3, 페이지 4, ⋯ 구역 3 : 페이지 1, 페이지 2, 페이지 3, 페이지 4, ...

엑셀 / VBA / 여러 시트의 내용을 하나의 시트에 모으는 방법

엑셀 / VBA / 여러 시트의 내용을 하나의 시트에 모으는 방법

동일한 형식에 내용만 다른 여러 시트의 데이터를 하나로 합치는 방법을 알아본다. 예를 들어 다음과 같은 엑셀 문서가 있다고 하자. 첫 번째 시트는 합쳐진 데이터가 모일 시트이고, 나머지 세 개는 데이터가 있는 시트이다. 을 클릭한다.(만약 개발 도구 메뉴가 없다면 여기의 안내대로 개발 도구를 추가한다.) 을 클릭한다. 다음과 같이 코드를 입력한다. Sub Merge() ...

Microsoft 365 / Loop / 소개

Microsoft 365 / Loop / 소개

Microsoft 365 Loop는 현대의 작업 환경에서 팀 협업을 극대화하기 위해 설계된 새로운 협업 플랫폼입니다. Loop는 동적인 콘텐츠와 실시간 협업 기능을 제공하여 팀원들이 프로젝트와 아이디어를 효과적으로 공유하고 관리할 수 있도록 도와줍니다. 아래는 Microsoft 365 Loop의 주요 기능과 장점입니다. 주요 기능 Loop 구성 요소 Loop 구성 요소는 실시간으로 업데이트되는 모듈식 콘텐츠 블록으로, 문서, 회의 노트, ...

엑셀 / 날짜를 텍스트로, 텍스트를 날짜로 변환하는 방법

엑셀 / 날짜를 텍스트로, 텍스트를 날짜로 변환하는 방법

날짜를 텍스트로 변환 날짜 형식의 데이터는 날짜처럼 보이지만, 실제 값은 1900년 1월 1일부터 시작되는 일련 번호이다. 즉, 1900-01-01은 1이고, 1900-01-02는 2이다. 날짜는 계산에 사용할 수 있도록 순차적인 일련 번호로 저장됩니다. 기본적으로 1900년 1월 1일이 일련 번호 1이고, 2008년 1월 1일은 1900년 1월 1일 이후 39,447일이 지난 날짜이므로 일련 번호가 39448입니다. 따라서 날짜 2022-10-25를 ...

워드 / 각주를 미주로, 미주를 각주로 일괄 변환하는 방법

워드 / 각주를 미주로, 미주를 각주로 일괄 변환하는 방법

각주와 미주 각주와 미주는 둘 다 부연 설명을 할 때 사용합니다. 차이점은, 각주는 페이지의 아래에 있고, 미주는 문서 또는 구역의 끝에 있다는 것입니다. 문서를 작성할 때는 각주를 사용했는데 완성하고 보니 미주가 더 어울릴 경우도 있고, 미주를 사용했는데 각주로 바꾸고 싶을 때가 있습니다. 모든 각주를 미주로, 모든 미주를 각주로 일괄 변환하는 방법을 알아보겠습니다. 각주를 미주로, ...