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 : 페이지 1, 페이지 2, 페이지 3, 페이지 4, ⋯ 구역 2 : 페이지 1, 페이지 2, 페이지 3, 페이지 4, ⋯ 구역 3 : 페이지 1, 페이지 2, 페이지 3, 페이지 4, ...

파워포인트 / 그림으로 저장하는 방법

파워포인트 / 그림으로 저장하는 방법

파워포인트 문서의 특정 부분을 다른 문서에 포함시켜야 하는 등 여러 가지 이유로 PPT 파일을 이미지 파일로 변환시켜야 할 때가 있다. 파워포인트에는 그림으로 저장하는 기능이 있으므로, 별도의 캡처 프로그램을 사용할 필요가 없다. 특정 개체 등을 그림으로 저장하기 그림으로 저정하고자 하는 개체를 선택한다. 여러 개체를 함께 선택해도 된다. 마우스 우클릭 후 을 클릭한다. 이미지 형식은 ...

엑셀 / 로그 또는 상용로그의 값 구하기, 상용로그표 만들기

엑셀 / 로그 또는 상용로그의 값 구하기, 상용로그표 만들기

로그 또는 상용로그의 값 구하기 로그의 값을 구하는 함수는 LOG에요. 외우기 쉽게 이름을 만들었네요. LOG(number, ) number에는 진수, base에는 밑이 들어가요. 즉 LOG(8, 2) 는 log28을 뜻합니다. 만약 base가 생략되었다면 밑을 10으로 계산해요. 밑이 10인 로그를 상용로그라고 하는 거 기억하시죠? 상용로그의 값은 함수 LOG10을 사용해도 돼요. LOG10(number) 따라서 상용로그의 값을 구하는 방법은 세가지가 있습니다. LOG(100, 10) LOG(100) ​LOG10(100) 상용로그표 만들기 상용로그표를 만들어볼게요. 고등학교 때 수학 ...

엑셀 / 행의 최대 개수, 열의 최대 개수, 셀의 최대 개수

엑셀 / 행의 최대 개수, 열의 최대 개수, 셀의 최대 개수

행, 열, 셀 엑셀은 표 형태로 되어 있어요. 가로를 행이라 하고, 세로를 열이라 하고, 각 칸을 셀이라 합니다. 행은 숫자로 구분하고, 열은 문자로 구분해요. 셀은 열과 행의 이름을 합하여 나타냅니다. 예를 들어 D3는 D열과 3행이 만나는 셀을 의미합니다. 사용할 수 있는 행과 열의 개수는 정해져있어요. 꽤 많긴 하지만 무한대로 있지는 않아요. 최대 몇 ...

엑셀 / 행과 열 바꾸는 방법

엑셀 / 행과 열 바꾸는 방법

제품 A와 제품 B를 판매하고 있습니다. 날짜별 제품 판매량을 엑셀로 정리하려고 합니다. 그래서 아래와 같이 열은 날짜로, 행은 제품으로 기준을 정하고 입력을 했더니, 날짜가 지날수록 표가 가로로 길어집니다. 계속 길어지면 스크롤 하면서 내용을 봐야 하는데 가로 스크롤보다는 세로 스크롤이 편합니다. 데이터가 많이 입력된 상태에서 행과 열을 어떻게 쉽게 바꿀 수 있을까요? 해결책은 ...

엑셀 / 함수 / SUMPRODUCT / 곱의 합 구하는 함수

엑셀 / 함수 / SUMPRODUCT / 곱의 합 구하는 함수

개요 SUMPRODUCT는 곱들의 합을 구하는 함수이다. 이것을 주어진 배열에서 해당 요소를 모두 곱하고 그 곱의 합계를 반환한다고 표현한다. 표현은 복잡하지만, PRODUCT를 구하고 그 다음 SUM을 구한다고 생각하면 된다. 구문 SUMPRODUCT(array1, , ...) 각 배열에 같은 순서에 있는 값들을 곱한 후 다 더한 값을 출력한다. 배열 안의 값의 개수, 즉 차원이 같아야 한다. 만약 다르면 #VALUE! ...

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

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

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

엑셀 / 화살표 키 눌렀을 때 스크롤 되는 현상 해결하는 방법

보통 셀이 선택된 상태에서 화살표 키를 누르면 선택된 셀이 이동한다. 예를 들어 A1이 선택된 상태에서 오른쪽 화살표 키를 누르면 B1이 선택된다. 그런데, 선택된 셀이 이동하는 게 아니라 시트 자체가 스크롤 되는 경우가 있다. 그렇게 되는 이유는 자신도 모르게 Scroll Lock를 눌렀기 때문... 다시 Scroll Lock을 누르면 원래대로 돌아온다.

Microsoft 365 / Microsoft Defender for Endpoint

Microsoft Defender for Endpoint는 엔터프라이즈 환경에서 엔드포인트(예: 컴퓨터, 서버, 모바일 장치)를 보호하기 위해 설계된 포괄적인 보안 솔루션입니다. 이 솔루션은 사이버 위협으로부터 엔드포인트를 보호하고, 실시간으로 위협을 탐지하고, 보안 사고 발생 시 대응하는 데 중점을 둡니다. 클라우드 기반의 차세대 엔드포인트 보호 플랫폼(EPP)과 엔드포인트 탐지 및 대응(EDR) 기능을 통합하여 조직의 보안 태세를 강화합니다. 주요 ...

Exchange Online / 메모

삭제된 항목 복구 삭제 후 14일 간 보관하고 복구 가능합니다. 기간은 최대 30일로 늘릴 수 있습니다. https://learn.microsoft.com/ko-kr/exchange/recipients-in-exchange-online/manage-user-mailboxes/change-deleted-item-retention 사용자가 직접 지운 편지함에서 복구할 수 있습니다. 지운 편지함 상단에 복구 관련 안내가 있습니다. Exchange 관리 센터에서 복구하려면, Mailbox Import Export 권한이 있어야 합니다. Exchange 관리 센터에서는 최대 50개만 조회됩니다. 더 많은 결과를 보고 싶다면 PowerShell을 이용합니다. https://learn.microsoft.com/ko-kr/exchange/recipients-in-exchange-online/manage-user-mailboxes/recover-deleted-messages 자동 확장 ...