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

 

같은 카테고리의 다른 글
Microsoft 365 / 오피스 앱 / 업데이트하는 방법

Microsoft 365 / 오피스 앱 / 업데이트하는 방법

Microsoft Office 제품은 업데이트하지 않아도 사용에 불편함이 별로 없습니다. 하지만, 간혹 최신 상태에서만 제대로 작동하는 경우도 있습니다. 만약 원하는 기능이 잘 작동하지 않는다면 오피스를 최신 상태로 업데이트를 해보세요. 업데이트 하는 방법은 두 가지가 있습니다. 오피스 자체의 업데이트 기능을 이용할 수도 있고, Windows 업데이트를 이용할 수도 있습니다. 방법 1 - 오피스 앱에서 업데이트 오피스 ...

Microsoft 365 / Access / 소개

Microsoft 365 / Access / 소개

Microsoft Access는 Microsoft의 데이터베이스 관리 시스템(DBMS)으로, 사용자들이 데이터베이스를 구축, 관리, 그리고 응용 프로그램을 개발할 수 있도록 도와준다. Access는 데이터 입력, 쿼리, 보고서 생성, 폼 디자인 등 다양한 기능을 통해 사용자가 데이터를 효율적으로 관리하고 분석할 수 있게 해준다. 주요 기능 데이터베이스 테이블 테이블 생성 : 사용자 친화적인 인터페이스를 통해 데이터베이스 테이블을 쉽게 생성하고 관리할 ...

워드 / 서식만 복사해서 붙여넣기

워드 / 서식만 복사해서 붙여넣기

서식은 스타일로 만드는 것이 좋습니다. 그래야 적용하기도 편하고 수정하기도 편합니다. 하지만 짧고 간단한 문서라면 스타일을 사용하는 것보다 개별적으로 모양을 만드는 것이 편할 수 있습니다. 그렇게 만든 어떤 문단의 모양을 다른 문단에 적용시키려면 어떻게 할까요? 워드에는 서식만 복사해서 붙여넣는 기능이 있어서 쉽게 처리할 수 있습니다. 서식만 복사해서 붙여넣기 복사하려는 서식이 있는 곳에 커서를 위치시키고 마우스 ...

Microsoft 365 / Whiteboard / 소개

Microsoft 365 / Whiteboard / 소개

Microsoft 365 Whiteboard는 팀 협업과 브레인스토밍을 위해 설계된 디지털 캔버스로, 사용자가 아이디어를 시각적으로 표현하고 공유할 수 있는 도구입니다. Whiteboard는 원격 근무 환경에서도 팀원들이 실시간으로 협력할 수 있도록 다양한 기능을 제공합니다. 주요 기능 실시간 협업 여러 사용자가 동시에 화이트보드에 접속하여 실시간으로 작업할 수 있습니다. 팀원들이 각자의 아이디어를 동시에 추가하고 편집할 수 있습니다. 다양한 입력 도구 펜, 형광펜, ...

엑셀 / 한영 자동 전환 해제하는 방법

엑셀 / 한영 자동 전환 해제하는 방법

엑셀에서 Rkakrnl를 입력하면 까마귀로 바뀝니다. 한글로 입력해야 할 것을 실수로 영어로 입력했을 거라 판단하여 한글로 변경해주는 기능입니다. 만약 이 기능이 불편하다면 옵션에서 비활성화할 수 있습니다.

엑셀 / PDF 형식으로 저장하는 방법

엑셀 / PDF 형식으로 저장하는 방법

엑셀은 PDF 저장 기능을 갖고 있습니다. Acrobat 등 PDF 변환 프로그램을 설치하지 않아도 PDF 형식의 문서로 변환할 수 있습니다. PDF로 저장하는 방법은 두 가지가 있는데, 하나는 을 이용하는 게 더 편합니다. F12를 눌러서  창을 엽니다. 파일 형식을 PDF로 ...

엑셀 / 빈 셀, 빈 셀이 있는 행, 빈 셀이 있는 열 삭제하는 방법

엑셀 / 빈 셀, 빈 셀이 있는 행, 빈 셀이 있는 열 삭제하는 방법

빈 셀 또는 빈 셀을 포함한 행 또는 빈 셀을 포함한 열이 필요 없는 자료여서 삭제를 해야 할 때, 일일이 찾아서 삭제하는 것은 번거롭습니다. 자료가 많다면 시간도 많이 걸리고 실수할 가능성도 커집니다. 다행히 엑셀에는 그러한 작업을 쉽게 할 수 있는 기능을 포함하고 있습니다. 빈 셀 선택하기 빈 셀을 찾을 범위를 정합니다. 정하지 않아도 빈 ...

파워포인트 / 자동 저장 하는 방법

파워포인트 / 자동 저장 하는 방법

환경 Windows 10 / Microsoft Office 2016 자동 저장 파워포인트로 작업을 하다가 컴퓨터가 멈추거나 정전이 발생하면, 저장하지 않은 작업은 날라가게 됩니다. 그런 상황을 대비한 기능이 자동 저장입니다.(정확한 표현은 '자동 복구 정보 저장'입니다.) 일정한 간격으로 현재 작업을 저장해두는 것으로, 저장하지 않고 비정상적으로 죵료되었을 때 자동으로 저장해둔 파일로 복구할 수 있습니다. 기본 간격은 10분입니다. 즉 문제가 생겨도 ...

엑셀 / 함수 / MEDIAN / 중앙값(중간값) 구하는 함수

엑셀 / 함수 / MEDIAN / 중앙값(중간값) 구하는 함수

개요 MEDIAN 함수는 수의 집합에서 수를 크기순으로 나열했을 때 정가운데에 있는 수를 구하는 함수입니다. 그 수를 중앙값 또는 중간값이라 합니다. 구문 MEDIAN(number1, , ...) number1은 필수 요소이고, 이후의 number는 선택 요소입니다. 1개에서 255개까지 사용할 수 있습니다. 수의 개수가 홀수일 때는 크기순으로 나열했을 때 정가운데의 수를 반환합니다. 예를 들어 MEDIAN(3,4,5,6,6) 은 5입니다. 수의 개수가 짝수일 때는 크기순으로 나열했을 때 가운데에 있는 ...

엑셀 / 함수 / FIND, FINDB, SEARCH, SEARCHB / 특정 문자열의 시작 위치를 반환하는 함수

엑셀 / 함수 / FIND, FINDB, SEARCH, SEARCHB / 특정 문자열의 시작 위치를 반환하는 함수

개요 FIND, FINDB, SEARCH, SEARCHB는 특정 문자열의 시작 위치를 반환하는 함수입니다. FIND, FINDB는 대소문자를 구분합니다. SEARCH, SEARCHB는 대소문자를 구분하지 않습니다. FIND와 SEARCH는 글자 수 기준으로, FINDB와 SEARCHB는 바이트 기준으로 계산합니다. 구문 FIND(find_text, within_text, ) FINDB(find_text, within_text, ) SEARCH(find_text, within_text, ) SEARCHB(find_text, within_text, ) find_text : 필수 요소로, 찾으려는 문자열입니다. within_text : 필수 요소로, 찾을 대상이 되는 문자열입니다. start_num : 선택 요소로, 검색을 시작할 위치입니다. 생략하면 ...