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 / 평가판(1개월 무료 체험) 신청하는 방법

Microsoft 365 / 평가판(1개월 무료 체험) 신청하는 방법

Microsoft 365는 보통 1개월 무료 체험이 가능하다. '보통'이라고 표현한 이유는 1개월 무료 체험이 있다 없다 하기 때문이다. 또한 모든 버전의 제품에 대하여 제공하지도 않는다. Microsoft 365 1개월 무료 체험을 위해 준비해야 할 것은 핸드폰과 해외 결제 가능한 신용카드이다. 평가판 신청하기 Microsoft 365 소개 페이지에서 을 클릭한다. 평가판은 보통 25개의 라이선스가 주어진다. [이 항목의 ...

워드 / 자동 저장 간격 변경하기, 백업 파일 자동으로 만들기

워드 / 자동 저장 간격 변경하기, 백업 파일 자동으로 만들기

자동 저장과 백업 파일 워드로 문서를 작성하다가 컴퓨터에 문제가 생기면, 저장하지 않은 작업을 잃어버리게 됩니다. 이를 해결하는 방법은 두 가지가 있는데, 하나는 자동 저장, 또 하나는 백업 파일 만들기입니다. 자동 저장 일정한 간격으로 문서를 저장해둡니다. 문제가 생겼을 때 마지막으로 자동 저장된 파일로 복구할 수 있습니다. 기본 저장 간격은 10분이고, 옵션에서 변경할 수 있습니다. 백업 ...

엑셀 / 함수 / 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 : 선택 요소로, 검색을 시작할 위치입니다. 생략하면 ...

Microsoft 365 / Viva Engage / 소개

Microsoft 365 / Viva Engage / 소개

Microsoft 365 Viva Engage는 Microsoft Viva 플랫폼의 일환으로, 직원들의 참여와 소통을 증진시키기 위한 소셜 네트워크 및 커뮤니케이션 도구입니다. Viva Engage는 기존의 Yammer 기능을 확장하여, 기업 내에서 직원들이 아이디어를 공유하고, 협력하며, 서로 연결될 수 있도록 지원합니다. 주요 기능 커뮤니티 및 그룹 직원들이 관심사나 업무 영역에 따라 커뮤니티와 그룹을 생성하고 참여할 수 있습니다. 그룹 내에서 질문을 ...

파워포인트 / 구역 만드는 방법

파워포인트 / 구역 만드는 방법

파워포인트 작업을 할 때 슬라이드가 많으면 슬라이드 사이를 왔다갔다 하는 게 불편합니다. 그런 경우 구역을 설정해보세요. 구역별로 접고 펼 수 있어서 작업 속도가 향상됩니다. 슬라이드와 슬라이드 사이를 선택하고 마우스 우클릭한 후 를 클릭하고... 이름을 적절히 정하면 구역이 만들어집니다. 마찬가지 방식으로 구역을 더 추가할 수 있습니다. 구역은 접었다 폈다 할 수 있습니다.

엑셀 / VBA / 모듈 내보내기 가져오기

엑셀 / VBA / 모듈 내보내기 가져오기

엑셀에서 VBA로 만든 모듈을 다른 파일에서 사용하는 방법은, 그 모듈을 내보내고 다른 파일에서 가져오는 것입니다. 작업은 Visual Basic Editor에서 합니다. 모듈 내보내기 내보내기를 할 엑셀 파일을 열고 Visual Basic Editor를 엽니다. 단축키는 Alt+F11입니다. 내보낼 모듈을 선택하고 마우스 우클릭합니다. 팝업 메뉴에서 를 클릭하면 확장자가 bas인 파일로 저장됩니다. bas 파일은 텍스트 파일로, 메모장 등 텍스트 에디터로 ...

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 자동 확장 ...

엑셀 / 통합 문서 모든 시트 대상으로 검색하는 방법

엑셀 / 통합 문서 모든 시트 대상으로 검색하는 방법

기본 검색 대상 엑셀은 찾기 기능이 있습니다. Ctrl+F로 찾기 창을 연 후 검색어를 입력하고 검색하면 됩니다. 검색을 하면 그 대상이 필요한데, 기본 설정은 현재 워크시트입니다. 현재 워크시트에 검색어가 있으면 그 위치로 이동하고, 없다면 찾을 수 없다고 알려줍니다. 다른 워크시트에 그 검색어가 있어도 검색 대상이 현재 워크시트이므로 없다고 나옵니다. 모든 워크시트를 대상으로 검색하기 검색 대상을 변경해서 ...