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 To-Do와 동기화하는 방법

아웃룩 / 할 일을 Microsoft To-Do와 동기화하는 방법

캘린더 소프트웨어는 저와 잘 맞지 않아요. 주로 사용하는 것은 할 일 관리 소프트웨어에요. 대충의 일정만 정해두고, 하나씩 체크해나가는 거죠. 할 일 관리를 구글 캘린더에서 했는데, 불편한 게 있어요. 모바일과 동기화해서 쓰는 게 좀 불편해요. 구글 캘린더 앱 자체에서는 할 일을 관리할 수 없어서 이런저런 꼼수를 써야 해요. 그래서 모바일과 PC에서 동시에 ...

엑셀 / 함수 / RANK, RANK.EQ, RANK.AVG / 순위 구하는 함수

엑셀 / 함수 / RANK, RANK.EQ, RANK.AVG / 순위 구하는 함수

개요 RANK, RANK.EQ, RANK.AVG는 순위를 구하는 함수이다. RANK는 EXCEL 2007 이전 버전을 위한 함수이고, RANK.EQ와 RANK.AVG는 최신 버전을 위한 함수이다. RANK.EQ와 RANK.AVG는 같은 순위를 어떻게 처리하는지가 다르다. 구문 RANK(number,ref,) RANK.EQ(number,ref,) RANK.AVG(number,ref,) number : 필수 요소로, 순위를 구하려는 수 ref : 필수 요소로, 순위의 기준이 되는 수의 집합. 수 이외의 값은 무시된다. order : 선택 요소로, 입력하지 않거나 0으로 정하면 큰 수가 ...

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 365 / Whiteboard / 소개

Microsoft 365 / Whiteboard / 소개

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

Microsoft 365 / Chipchamp / 소개

Microsoft 365 / Chipchamp / 소개

Microsoft 365 Clipchamp는 비디오 편집 도구로, 사용자가 쉽고 빠르게 비디오를 제작, 편집 및 공유할 수 있도록 도와줍니다. Clipchamp는 특히 사용자 친화적인 인터페이스와 강력한 기능을 제공하여 전문가뿐만 아니라 초보자도 쉽게 사용할 수 있습니다. 아래는 Microsoft 365 Clipchamp의 주요 기능과 장점입니다. 주요 기능 사용자 친화적인 인터페이스 직관적이고 사용하기 쉬운 드래그 앤 드롭 방식의 인터페이스를 제공합니다. 초보자도 ...

엑셀 / 함수 / IRR / 내부수익률 계산하는 함수

엑셀 / 함수 / IRR / 내부수익률 계산하는 함수

개요 IRR 함수는 주기적인 현금 흐름에 대한 내부수익률(internal rate of return)을 반환하는 함수입니다. 구문 IRR(values, ) values 필수 요소로, 셀에 대한 참조 또는 배열입니다. 양수 값과 음수 값이 각각 한 개 이상씩 포함되어야 합니다. 텍스트, 논리값 또는 빈 셀은 무시됩니다. guess 선택 요소로, IRR 계산에 처음 사용할 값입니다. guess에서 시작하여 결과가 0.00001% 이내의 오차 범위에 들어올 때까지 반복합니다. guess를 생략하면 0.1(10%)로 간주합니다. 20번 이상 반복한 후에도 ...

파워포인트 / 슬라이드 배경 색, 배경 이미지 등 설정하는 방법

파워포인트 / 슬라이드 배경 색, 배경 이미지 등 설정하는 방법

파워포인트에서 배경 서식을 설정하는 방법은 프레젠테이션의 전체적인 디자인을 결정짓는 중요한 요소입니다. 슬라이드의 배경을 설정하면 발표의 분위기를 크게 바꿀 수 있고, 주제를 강조하는 데 도움이 됩니다. 배경 서식을 정하는 방법은 슬라이드 마스터를 이용하는 방법과 개별 슬라이드의 배경 서식을 설정하는 방법이 있습니다. 다음은 개별 슬라이드의 배경 서식을 설정하는 방법입니다.  배경 서식을 설정하려는 슬라이드를 선택합니다. 상단에서 을 클릭합니다. 을 ...

엑셀 / 셀 내용을 그림으로 복사하기

엑셀 / 셀 내용을 그림으로 복사하기

엑셀로 작업한 결과 또는 시트의 일부분을 그림으로 만들어야 하는 경우가 간혹 있습니다. 어떻게 이미지로 만들 수 있을까요?  가장 먼저 떠오르는 건 픽픽 같은 캡쳐 프로그램으로 캡쳐를 하는 것입니다. 문제는 별도의 프로그램을 설치해야 한다는 것이죠. 또 다른 방법은, 사실 가장 간편한 방법은 엑셀에 포함된 기능을 이용하는 것입니다. 따로 프로그램이 필요한 것도 ...

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

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

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