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 / 마이크로소프트 홈페이지에서 구입하는 방법

보유한 도메인으로 메일 주소를 만들려고 이런 저런 방법을 찾다가, Exchange 서비스가 포함된 Microsoft 365를 구입하기로 하였습니다. 무료 서비스 찾는 것도 어렵고, 신뢰성의 문제도 있고, Microsoft 365를 구입하면 1TB의 원드라이드 공간도 주고, 마침 Microsoft 365 Business Basic을 6개월 무료로 사용할 수 있는 이벤트도 있고... 구입하는 김에 그 과정을 스크린샷으로 찍었습니다. 별로 어려운 것은 ...

엑셀 / 함수 / UPPER, LOWER, PROPER / 대문자로 또는 소문자로 변환하는 함수

엑셀 / 함수 / UPPER, LOWER, PROPER / 대문자로 또는 소문자로 변환하는 함수

개요 UPPER, LOWER, PROPER는 대문자 또는 소문자 변환과 관련된 함수입니다. UPPER : 모두 대문자(upper case)로 바꿉니다. LOWER : 모두 소문자(lower case)로 바꿉니다. PROPER : 단어의 첫글자는 대문자로, 나머지는 소문자로 바꿉니다. 구문 UPPER(text) LOWER(text) PROPER(text) text : 필수 요소로, 대문자로 또는 소문자로 변환할 텍스트입니다. PROPER 함수 단어의 첫째 문자를 대문자로 변환하고, 나머지 문자들은 소문자로 변환합니다. 예를 들어 PROPER("abCdE") 는 Abcde입니다. 단어의 첫째 문자가 영문자가 아닌 경우, 영문자가 아닌 문자 다음에 오는 영문자를 대문자로 ...

엑셀 / 셀 병합하기, 셀 분할하기

엑셀 / 셀 병합하기, 셀 분할하기

보기 좋게 표를 만들거나 보고서를 만들려면 셀들을 합쳐야 할 때가 있습니다. 엑셀에서는 셀을 합치는 것을 병합이라고 하고, 다시 나누는 것을 분할이라고 합니다. 어떻게 병합하고 분할하는지, 병합에는 어떤 방법이 있는지 알아보겠습니다. 병합하고 가운데 맞춤 셀을 합치는 가장 간단한 방법은 합치려는 셀들을 선택하고 을 클릭하는 것입니다. 셀들이 하나도 합쳐지고, 텍스트는 가운데 정렬합니다. 셀 병합을 하면 ...

엑셀 / 월별 합계 구하는 방법 두 가지

엑셀 / 월별 합계 구하는 방법 두 가지

다음과 같이 날짜별 제품 판매 데이터가 있습니다. 이 자료를 가지고 월별 판매액 합계를 구하는 방법 두 가지를 소개해드립니다. 방법 1 MONTH 함수로 날짜에서 월을 뽑아냅니다. SUMIF 함수로 월별 금액의 합계를 구합니다. 의미 없는 F열을 추가해야 한다는 단점이 있습니다. 방법 2 날짜에서 월을 뽑아, 해당 월의 금액 합계를 구합니다. =SUM((MONTH($A$2:$A$10)=G2)*$E$2:$E$10) 수식이 약간 복잡해지지만, 월별 합계를 구하기 위한 열을 추가할 ...

엑셀 / 함수 / SUMSQ / 제곱의 합 구하는 함수

엑셀 / 함수 / SUMSQ / 제곱의 합 구하는 함수

개요 SUMSQ는 제곱의 합을 구하는 함수입니다. 구문 SUMSQ(number1, , ...) number1, number2, ... : number1은 필수 요소이고, 이후의 number는 선택 요소입니다. 인수는 255개까지 넣을 수 있습니다. 예제 1부터 4까지 제곱의 합을 구합니다.

Exchange Online / 공용 폴더 만들고 사용하는 방법

Exchange Online / 공용 폴더 만들고 사용하는 방법

Exchange Online의 공용 폴더는 다음 순서로 만든다. 공용 폴더 사서함 만들기 공용 폴더 만들기 사용 권한 부여하기 기본 작업은 Exchange 관리 센터에서 하지만, Exchange Online PowerShell을 이용하는 경우도 많다. 공용 폴더 사서함 만들기 Exchange 관리 센터에서 를 클릭한다. 상단에서 을 클릭한다. 를 클릭한다. 적절히 이름을 정하고 를 클릭하면... 공용 폴더 사서함이 만들어진다. 공용 폴더 사서함 ...

Microsoft 365 / 메모

인터넷 비 연결 시 로그인이 유지되는 기간은? https://learn.microsoft.com/ko-kr/deployoffice/overview-licensing-activation-microsoft-365-apps Microsoft 365 앱 Office 라이선싱 서비스 및 정품 인증 및 유효성 검사 서비스와 통신하여 제품 키를 가져오고 활성화합니다. 사용자가 컴퓨터에 로그인한 날 또는 로그인할 때마다 컴퓨터는 정품 인증 및 유효성 검사 서비스에 연결하여 라이선스 상태를 확인하고 제품 키를 연장합니다. 컴퓨터가 30일마다 한 번 이상 ...

파워포인트 / 수식 삽입하는 방법

파워포인트 / 수식 삽입하는 방법

파워포인트에 수식을 넣는 방법은 여러 가지가 있습니다. 그 중 대표적인 것이 파워포인트에 포함된 수식 기능을 이용하는 것입니다. 제약이 있기는 하지만, 간단한 수식을 넣을 때는 유용하게 사용할 수 있습니다. 미리 정의된 수식 삽입하기 메뉴가 있습니다. 화살표를 클릭하면 미리 정의된 수식을 볼 수 있습니다. 입력하려는 것과 가장 비슷한 수식을 삽입한 후 편집하는 게 편합니다. 잉크 ...

엑셀 / 여러 조건 LOOKUP

엑셀 / 여러 조건 LOOKUP

LOOKUP을 이용하면 여러 조건을 만족하는 값을 찾을 수 있다. =LOOKUP(1,1/((A1:A4=E1)*(B1:B4=F1)),C1:C4)