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

 

같은 카테고리의 다른 글
파워포인트 / 그룹화 하는 방법, 그룹 해제하는 방법

파워포인트 / 그룹화 하는 방법, 그룹 해제하는 방법

여러 도형을 마치 하나의 도형처럼 만드는 것을 그룹화한다고 한다. 도형 뿐 아니라 텍스트, 이미지 등 다양한 개체를 그룹화할 수 있다. 그룹으로 만든 것을 각각의 개체로 분리하는 것을 그룹 해제라고 한다. 그룹화 하기 그룹화하려는 대상을 선택한다. 마우스 드래그로 선택하거나, Ctrl 키를 누른 상태에서 하나씩 클릭한다. 선택을 마쳤으면 마우스 우클릭한 후 을 ...

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

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

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

파워포인트 / 여러 개의 도형 정렬하는 방법

파워포인트 / 여러 개의 도형 정렬하는 방법

파워포인트에 여러 개의 도형을 넣었어요. 예쁘게 정렬해야겠죠? 도형들을 정렬하는 첫번째 방법은 마우스로 원하는 위치로 이동시키는 거에요. 각종 보조선이 나와서 정렬을 도와줍니다. 가로 위치를 맞춰주는 보조선도 있고, 간격을 맞춰주는 보조선도 있어요. 도형이 몇 개 되지 않는다면 마우스로 정렬하는 게 편하기는 한데, 마우스가 좋지 않거나, 마우스 조작에 익숙하지 않다면 좀 어려울 수도 있어요. 많은 ...

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

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

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

Microsoft 365 / 오피스 앱 설치한 기기 확인하는 방법

Microsoft 365 / 오피스 앱 설치한 기기 확인하는 방법

Microsoft 365의 데스크톱 버전 오피스 앱은 5대의 PC 또는 MAC에 설치할 수 있다. 어떤 기기에 설치를 했는지 확인하는 방법은 다음과 같다. 사용자가 확인하는 방법 https://www.microsoft365.com/에 접속하고 로그인한다. 오른쪽 위에 있는 사용자 아이콘을 클릭한다. 를 클릭한다. 왼쪽 메뉴에서 을 클릭한다. 를 클릭하고... 를 클릭하여 확장하면, 설치된 기기 목록을 볼 수 있다. 관리자가 확인하는 방법 Microsoft ...

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 모듈 설치 ...

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

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

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

엑셀 / 함수 / YEAR, MONTH, DAY / 년, 월, 일 반환하는 함수

엑셀 / 함수 / YEAR, MONTH, DAY / 년, 월, 일 반환하는 함수

개요 YEAR, MONTH, DAY는 날짜에서 년, 월, 일을 추려내는 함수입니다. 구문 YEAR(serial_number) MONTH(serial_number) DAY(serial_number) 예제 아래는 2019년 10월 20일이라는 날짜에서 년, 월, 일을 출력하는 예제입니다. serial_number 날짜는 일련번호로 저장됩니다. 이를 엑셀에서는 serial_number라고 합니다. 1은 1900년 1월 1일을 뜻하고, 2는 1900년 1월 2일을 뜻합니다. 0 또는 빈 값은 1900년 1월 0일입니다. 날짜 형식으로 표현된 값이 있을 때... 표시 형식을 일반으로 변경하면... serial_number를 볼 ...

엑셀 / 함수 / 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 / Microsoft Entra Connect

즉시 동기화 다음과 같이 명령하면 즉시 동기화를 시작합니다. Start-ADSyncSyncCycle -PolicyType Delta 동기화 진행 상황은 Synchronization Service Manager에서 볼 수 있습니다. 동기화 끊기 https://docs.microsoft.com/ko-kr/microsoft-365/enterprise/turn-off-directory-synchronization?view=o365-worldwide PowerShell에서 다음 작업을 수행 Install-Module MSOnline Azure AD에 연결 Connect-MsolService 동기화 끊기 Set-MsolDirSyncEnabled -EnableDirSync $false False를 반환하는지 확인 (Get-MSOLCompanyInformation).DirectorySynchronizationEnabled 다시 동기화하는 경우 하이브리드 구성을 하고, 그 구성을 해제하고, 다시 구성을 하면, Active Directory 사용자와 Entra ID의 사용자가 매치되지 않으면서 동기화에 실패할 수 ...