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

 

같은 카테고리의 다른 글
엑셀 / 함수 / SUMSQ / 제곱의 합 구하는 함수

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

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

Microsoft 365 / 민감도 레이블(Sensitivity Labels)

Microsoft 365의 민감도 레이블(Sensitivity Labels)은 조직이 데이터를 분류하고 보호할 수 있도록 설계된 기능입니다. 민감도 레이블을 사용하면 조직의 중요 정보에 대한 가시성을 높이고, 보안 및 규정 준수를 강화하며, 데이터를 적절한 수준으로 관리할 수 있습니다. 민감도 레이블은 Microsoft 365의 정보 보호 솔루션의 일부로, 데이터에 레이블을 적용하여 다음과 같은 작업을 수행할 수 있습니다: 1. ...

엑셀 / 함수 / AVERAGE, AVERAGEIF, AVERAGEIFS / 산술평균 구하는 함수

엑셀 / 함수 / AVERAGE, AVERAGEIF, AVERAGEIFS / 산술평균 구하는 함수

개요 AVERAGE는 산술평균을 구하는 함수이다. 특정 조건에 맞는 값들의 산술평균을 구하고 싶다면 AVERAGEIF 또는 AVERAGEIFS 함수를 사용한다. AVERAGE 구문 AVERAGEA(value1, , ...) value1은 필수 요소이고, 이후의 value는 선택 요소이다. 평균을 구하려는 셀, 셀 범위 또는 값으로, 1개에서 255개까지 지정할 수 있다. 예제 예제 1 1, 2, 3의 산술평균을 구한다. 예제 2 1, 2의 산술평균을 구한다. 범위에 문자가 포함된 경우 무시한다. AVERAGEIF 구문 AVERAGEIF(range, criteria, ) range ...

파워포인트 / 사용한 글꼴 확인, 글꼴 일괄 변경

파워포인트 / 사용한 글꼴 확인, 글꼴 일괄 변경

파워포인트에 사용한 글꼴 확인하는 방법 파워포인트를 꾸미는 가장 쉬운 방법은 좋은 글꼴을 사용하는 것이다. 글꼴만 잘 선택해도 디자인의 반은 끝난 것이라고 생각한다. 내 노트북으로 발표를 할 때는 상관없지만, 다른 컴퓨터에서 PPT 파일을 열고 발표해야 한다면 사용한 글꼴이 그 컴퓨터에 설치되어 있어야 원하는 모양이 나온다. 이를 해결하는 방법은 PPT 파일을 저장할 때 글꼴을 ...

엑셀 / 중복된 값 찾는 방법, 중복 항목 제거하는 방법

엑셀 / 중복된 값 찾는 방법, 중복 항목 제거하는 방법

엑셀로 자료를 취합하고 정리하다보면 중복된 값들이 생기기도 합니다. 그런 중복 항목을 찾기 위해 눈으로 검토할 필요는 없습니다. 엑셀에는 중복된 항목을 찾거나, 찾아서 제거하는 기능이 있기 때문입니다. 중복 값 찾기 중복 값을 찾을 열을 선택합니다. 을 클릭합니다. 을 클릭하면... 중복된 값이 강조됩니다. 조건부 서식에서 를 ...

워드 / 서식만 복사해서 붙여넣기

워드 / 서식만 복사해서 붙여넣기

서식은 스타일로 만드는 것이 좋습니다. 그래야 적용하기도 편하고 수정하기도 편합니다. 하지만 짧고 간단한 문서라면 스타일을 사용하는 것보다 개별적으로 모양을 만드는 것이 편할 수 있습니다. 그렇게 만든 어떤 문단의 모양을 다른 문단에 적용시키려면 어떻게 할까요? 워드에는 서식만 복사해서 붙여넣는 기능이 있어서 쉽게 처리할 수 있습니다. 서식만 복사해서 붙여넣기 복사하려는 서식이 있는 곳에 커서를 위치시키고 마우스 ...

엑셀 / 시트의 눈금선 없애는 방법

엑셀 / 시트의 눈금선 없애는 방법

눈금선 엑셀의 시트에는 선이 있어요. 모니터에만 나오고 인쇄할 때는 나오지 않는 선이에요. 이 선을 눈금선이라고 합니다. 눈금선이 있는 이유는 셀의 위치를 파악하기 쉽게 하려는 거에요. 눈금선 없이 한동안 써봤는데 꽤 불편하더군요. 눈금선이 있는 게 좋아요. 그런데, 눈금선이 있는 게 더 불편한 경우가 있어요. 바로 모양을 꾸밀 때에요. 인쇄용 보고서를 만들기 위해 선을 그리고 ...

Microsoft 365 / Intune

Microsoft 365 / Intune

관리 센터 Microsoft Endpoint Manager 관리 센터에서 한다. 디바이스 등록 회사 포털 디바이스에 회사 포털을 설치한다. Windows라면 Microsoft Store에서, 안드로이드라면 구글 플레이에서 설치할 수 있다. 설치 후 실행하고 로그인한다. 등록된 디바이스는 에서 볼 수 있다. AutoPilot   자동 등록   Windows 디바이스 관리 컴퓨터 이름 변경 소유권이 회사로 된 디바이스의 이름을 변경할 수 있다. 에서 이름을 변경하려는 디바이스를 ...

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

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

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

엑셀 / VBA / 매크로 만들고 실행하기

엑셀 / VBA / 매크로 만들고 실행하기

간단한 예제로, VBA로 매크로를 만들고 실행하는 과정을 살펴보겠습니다.(개발 도구 메뉴가 없는 경우 옵션 변경으로 추가할 수 있습니다.) 을 클릭합니다.(단축키는 Alt+F11입니다.) 다음과 같은 에디터 창이 나오는데... 을 클릭합니다. 코드를 넣을 수 있는 창이 나오는데... 다음 코드를 입력합니다. Sub SayHello() Sheet1.Range("A1").Value = "HELLO" End ...