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

 

같은 카테고리의 다른 글
엑셀 / 양수(이익)를 빨간색, 음수(손실)를 파란색으로 만드는 방법

엑셀 / 양수(이익)를 빨간색, 음수(손실)를 파란색으로 만드는 방법

음수를 빨간색으로 강조하는 것은 셀 서식에 정의되어 있다. 숫자 형식으로 하고 음수의 표시 방식을 정하면 된다. 1000 단위 구분 기호도 쉽게 넣을 수 있다. 음수를 빨간색으로 표시하는 게 일반적이기는 한데, 국내 주식은 그렇지 않다. 오르는 게 빨간색, 내리는 게 파란색이다. 상승은 빨간색이라는 게 익숙해서, 엑셀에 손익을 기록할 때 손실이 빨간색으로 나오는 ...

Exchange Online / PowerShell

Exchange Online / PowerShell

Exchange Online PowerShell은 Microsoft 365의 Exchange Online 환경을 관리할 수 있는 강력한 명령줄 도구입니다. 이를 통해 관리자는 대량 작업을 빠르게 하거나, Exchange 관리 센터(EAC)에서 제공되지 않는 고급 관리 작업을 수행할 수 있습니다.

파워포인트 / 암호 설정하는 방법, 암호 해제하는 방법

파워포인트 암호에는 열기 암호, 쓰기 암호 두 가지가 있다. 열기 암호는 에서 설정할 수 있다. 열기 암호만 설정된 경우 암호를 입력하고 문서를 열면 쓰기가 가능하다. 암호를 모르면 문서를 열 수 없다. 쓰기 암호만 설정된 경우 읽기 전용으로 열 ...

엑셀 / VBA / 여러 시트의 내용을 하나의 시트에 모으는 방법

엑셀 / VBA / 여러 시트의 내용을 하나의 시트에 모으는 방법

동일한 형식에 내용만 다른 여러 시트의 데이터를 하나로 합치는 방법을 알아본다. 예를 들어 다음과 같은 엑셀 문서가 있다고 하자. 첫 번째 시트는 합쳐진 데이터가 모일 시트이고, 나머지 세 개는 데이터가 있는 시트이다. 을 클릭한다.(만약 개발 도구 메뉴가 없다면 여기의 안내대로 개발 도구를 추가한다.) 을 클릭한다. 다음과 같이 코드를 입력한다. Sub Merge() ...

Microsoft 365 / OneDrive와 SharePoint 비교

OneDrive와 SharePoint는 둘 다 Microsoft의 클라우드 스토리지 및 협업 도구로, 파일 저장 및 관리 기능을 제공하지만, 주요 목적과 기능에서 차이가 있습니다. 주요 목적 OneDrive 개인 파일 저장 및 관리를 위해 설계되었습니다. 주로 개인 사용자 또는 조직 내 개인이 문서나 파일을 저장, 공유하고 액세스하는 데 사용됩니다. 각 사용자에게 독립적인 저장 공간이 제공됩니다. SharePoint 팀 또는 조직의 협업과 콘텐츠 ...

아웃룩 / Microsoft 365 메일(Exchange Online 메일) 추가하는 방법

아웃룩 / Microsoft 365 메일(Exchange Online 메일) 추가하는 방법

최신 버전의 아웃룩은 메일 계정 추가하는 게 쉬워졌습니다. 메일 주소만 입력하면 왠만한 설정은 알아서 해줍니다. 마이크로소프트에서 제공하는 Exchange Online이라면 더욱 쉽게 추가되겠죠? 아래는 Microsoft 365 등에 포함된 Exchange Online 메일 계정을 아웃룩에 추가하는 방법입니다. 아웃룩을 실행하고 을 클릭합니다. 를 클릭합니다. 다음과 같은 창이 나오면... 메일 주소를 입력하고 을 클릭합니다. 암호를 입력하고 을 클릭합니다. 적절히 설정하고 잠시 ...

아웃룩 / 받은 편지함 중요 기타 필터 해제하는 방법

아웃룩 / 받은 편지함 중요 기타 필터 해제하는 방법

아웃룩에서 수신한 메일은 받은 편지함에 모입니다. 규칙을 정해서 특정 폴더로 이동하도록 하지 않으면 받은 편지함에 쌓이죠. 받은 편지함에 있는 메일을 보여주는 형식은 두 가지가 있는데, 하나는 모든 메일을 보여주는 것이고, 다른 하나는 중요와 기타로 나누어서 보여주는 것입니다. 아웃룩을 설치했을 때 기본 설정이 중요와 기타로 구분해서 보여주는 것이라면, 보여야 할 메일이 보이지 않아서 ...

엑셀 / 함수 / LEFT, LEFTB, MID, MIDB, RIGHT, RIGHTB / 문자열 추출 함수

엑셀 / 함수 / LEFT, LEFTB, MID, MIDB, RIGHT, RIGHTB / 문자열 추출 함수

LEFT, LEFTB LEFT는 텍스트 문자열의 첫 번째 문자부터 시작하여 지정한 문자 수만큼 문자를 반환한다. LEFT(text, ) LEFTB는 텍스트 문자열의 첫 번째 문자부터 시작하여 지정한 바이트 수만큼 문자를 반환한다. LEFTB(text, ) 영문자 등은 한 문자가 1바이트이므로 결과에 차이가 없다. 하지만, 한글 등 2바이트 문자라면 차이가 난다. 수식으로 계산된 결과에 대해서도 적용할 수 있다. MID, MIDB MID는 텍스트 문자열에서 지정된 ...

엑셀 / 주민등록번호 뒷자리 별표로 바꾸는 방법

엑셀 / 주민등록번호 뒷자리 별표로 바꾸는 방법

예를 들어 B2 셀에 있는 주민등록번호의 뒷자리를 별표로 바꾸고 싶다면 다음과 같이 합니다. =REPLACE(B2,8,7,"*******")

아웃룩 / 지정한 폴더를 찾을 수 없습니다 해결하는 방법

아웃룩 / 지정한 폴더를 찾을 수 없습니다 해결하는 방법

아웃룩에 지메일, 네이버 메일 등을 IMAP으로 연결하여 사용할 수 있습니다. 서버와 동기화되는 방식으로, POP3보다 훨씬 편하지만, 간혹 오류가 납니다. 대표적인 것이 '지정한 폴더를 찾을 수 없습니다.'라는 오류입니다. 메일을 보내거나 스팸 메일을 처리하거나 메일을 삭제할 때, 특정 폴더를 사용하게 되는데, 그 폴더가 없어서 발생하는 문제입니다. 이를 해결하는 방법은, 그 폴더를 다시 지정해주는 ...