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

 

같은 카테고리의 다른 글
엑셀 / 함수 / TEXTJOIN / 여러 텍스트를 하나로 합치는 함수

엑셀 / 함수 / TEXTJOIN / 여러 텍스트를 하나로 합치는 함수

개요 TEXTJOIN은 여러 문자열을 합하여 하나의 문자열로 만드는 함수입니다. CONCAT과 비슷하나, 구분 기호와 빈 셀 처리에 대한 설정이 가능합니다. 구문 TEXTJOIN(delimiter, ignore_empty, text1, , …) delimiter : 문자열 사이에 들어갈 구분 기호입니다. ignore_empty : 빈 셀을 무시할지 정합니다. TRUE면 무시하고, FALSE면 무시하지 않습니다. text1 : 연결할 텍스트 항목입니다. text2 : 연결할 추가 텍스트 항목입니다. 예제 예제 1 구분 기호 없이, 빈 ...

아웃룩 / 메일 작성 창에 숨은 참조 표시하는 방법

아웃룩 / 메일 작성 창에 숨은 참조 표시하는 방법

아웃룩으로 메일을 작성할 때 기본 설정 하에서는 숨은 참조가 보이지 않는다. 만약 숨은 참조를 자주 사용한다면, 간단한 설정 변경으로 항상 숨은 참조가 보이게 할 수 있다. 을 클릭하여 메일 작성하는 창을 연다. 를 클릭하면... 숨은 참조를 넣을 수 있는 줄이 생기고, 이후 새 메일을 작성할 때나 회신, 전달을 ...

워드 / 자동으로 숫자 붙는 제목 만드는 방법

워드 / 자동으로 숫자 붙는 제목 만드는 방법

제목에는 제목 1, 제목 2 등의 스타일을 적용하는 게 좋다. 모양이 바뀔 뿐만 아니라, 탐색이 가능하고, 목차를 자동으로 만들 수 있다. 그런데 기본 모양은 아래처럼 숫자가 없다. 자동으로 제목에 숫자를 붙이고 싶다면, 다단계 목록을 이용한다. 다단계 목록 아이콘을 클릭한 후 를 클릭한다. 를 클릭한다. 오른쪽에서 을 클릭하고... 을 선택한다. 에서 2를 ...

파워포인트 / 한 페이지에 여러 슬라이드 인쇄하는 방법

파워포인트 / 한 페이지에 여러 슬라이드 인쇄하는 방법

한 페이지에 여러 슬라이드 인쇄 파워포인트로 만든 프리젠테이션을 유인물로 바꿀 때, 한 페이지에 하나의 슬라이드가 들어가도록 인쇄하는 것은 비효율적입니다. PPT는 특성상 텍스트가 그리 많지 않고 글자도 큼직하기 때문입니다. 한 페이지에 여러 슬라이드가 들어가도록 유인물을 만들면 보기에도 편하고, 종이도 절약됩니다. 제 경험으로는, 텍스트가 아주 적은 편일 때는 한 페이지에 4개의 슬라이드, 텍스트가 좀 ...

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

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

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

엑셀 / 함수 / DAYS / 두 날짜 사이의 일수를 계산하는 함수

엑셀 / 함수 / DAYS / 두 날짜 사이의 일수를 계산하는 함수

개요 DAYS 함수는 두 날짜 사이의 일수를 반환하는 함수입니다. 구문 DAYS(end_date, start_date) end_date : 필수 요소로, 끝나는 날짜입니다. start_date : 필수 요소로, 시작하는 날짜입니다. 끝나는 날짜를 앞에, 시작하는 날짜를 뒤에 입력한다는 것에 주의합니다. 끝나는 날짜가 시작하는 날짜보다 이전이면 음수를 반환합니다. 예제 2018년 1월 1일부터 2018년 1월 15일까지의 일수를 계산하는 예제입니다. 만약 수식에 날짜를 직접 입력하고 싶다면 날짜를 따옴표로 감쌉니다. =DAYS("2018-01-15","2018-01-01")

엑셀 / 함수 / PRODUCT / 곱하기 함수

엑셀 / 함수 / PRODUCT / 곱하기 함수

개요 PRODUCT는 곱을 구하는 함수이다. 곱은 *를 이용하여 구할 수도 있으나, 곱할 값들이 많으면 PRODUCT가 편하다. 구문 PRODUCT(number1, , ...) number1 : 필수 요소로, 곱하려는 첫 번째 숫자 또는 범위 number2, ... : 선택 요소로, 곱하려는 추가 숫자 또는 범위 최대 255개의 인수를 곱할 수 있다. 예제 예제 1 값을 지정하여 세 개의 값을 곱한다. 다음과 같은 결과를 얻는다. =A2*B2*C2 예제 2 범위를 ...

파워포인트 / 사용한 글꼴 확인, 글꼴 일괄 변경

파워포인트 / 사용한 글꼴 확인, 글꼴 일괄 변경

파워포인트에 사용한 글꼴 확인하는 방법 파워포인트를 꾸미는 가장 쉬운 방법은 좋은 글꼴을 사용하는 것이다. 글꼴만 잘 선택해도 디자인의 반은 끝난 것이라고 생각한다. 내 노트북으로 발표를 할 때는 상관없지만, 다른 컴퓨터에서 PPT 파일을 열고 발표해야 한다면 사용한 글꼴이 그 컴퓨터에 설치되어 있어야 원하는 모양이 나온다. 이를 해결하는 방법은 PPT 파일을 저장할 때 글꼴을 ...

엑셀 / 함수 / ISBLANK / 빈 셀인지 확인하는 함수

엑셀 / 함수 / ISBLANK / 빈 셀인지 확인하는 함수

개요 ISBLANK는 셀이 비어있는지 확인하는 함수입니다. 셀이 비어있다면 TRUE, 셀이 비어있지 않다면 FALSE를 반환합니다. 예제 1 예를 들어 ISBLANK(A2) 는 A2 셀이 비어있다면 TRUE, 비어있지 않다면 FALSE를 반환합니다. IF 함수와 결합하여 비어있을 때와 비었지 않을 때 서로 다른 작업을 할 수 있습니다. 예를 들어 IF(ISBLANK(A2),"B","NB") 는 A2 셀이 비어있다면 B를, 비어있지 않다면 NB를 출력합니다. 예제 2 수량과 단가를 곱하여 금액을 ...

Microsoft 365 / 오피스 앱 / 다크 모드 설정하는 방법

Microsoft 365 / 오피스 앱 / 다크 모드 설정하는 방법

다크 모드가 유행이다. 다크 모드가 기본 색상인 텍스트 에디터는 예전부터 많았고, 네이버 웨일 같은 웹브라우저도 다크 모드를 지원한다. 그리고 직장인이라면 하루 종일 쓰게 되는 마이크로소프트 오피스도 다크 모드를 지원한다. 다크 모드를 사용하면 눈이 편하다고 하여 잠시 써보았는데, 편한 것은 잘 모르겠고 무척 어색하다. 그래서 다시 원래대로 돌아왔는데... 좀 더 오래 사용해보면 ...