Giter VIP home page Giter VIP logo

microsoft-365-sizing's Introduction

Microsoft 365 Sizing PowerShell Script

Download zip

./Get-M365SizingInfo.ps1
[INFO] Starting the The Missing Link SmartPROTECT Microsoft 365 sizing script (v4.11).
[INFO] Connecting to the Microsoft Graph API using 'Reports.Read.All', 'User.Read.All', and 'Group.Read.All' (if filtering results by Azure AD Group) permissions.
[INFO] Retrieving the Total Storage Consumed for ...
 - Exchange
 - SharePoint
 - OneDrive
[INFO] Retrieving the Average Storage Growth Forecast for ...
 - Exchange
 - SharePoint
 - OneDrive
[INFO] Disconnecting from the Microsoft Graph API.
[INFO] Switching to the Microsoft Exchange Online Module for more detailed reporting capabilities.
[INFO] Retrieving all Exchange Mailbox In-Place Archive sizing.
[INFO] Disconnecting from the Microsoft Exchange Online Module
[INFO] Calculating the forecasted total storage need for SmartPROTECT for M365..


M365 Sizing information has been written to /dev/SmartPROTECT-M365-Sizing.html

Requirements

  • PowerShell >= 5.1 for PowerShell Gallery.
  • Microsoft 365 Global administrator credentials (Required to determine In-Place Archive details)

Installation

  1. Download the Get-RubrikM365SizingInfo.ps1 PowerShell script to your local machine
  2. Install the Microsoft.Graph.Reports and ExchangeOnlineManagement modules from the PowerShell Gallery
Install-Module Microsoft.Graph.Reports, Microsoft.Graph.Groups, ExchangeOnlineManagement

Usage

  1. Open a PowerShell terminal and navigate to the folder/directory where you previously downloaded the Get-RubrikM365SizingInfo.ps1 file.

  2. Run the script.

./Get-M365SizingInfo.ps1

NOTE - If you receive a PowerShell execution policy error message you can run the following command:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  1. Authenticate and acknowledge report access permissions in the browser window/tab that appears. This will occur multiple times during the script execution and will open a new tab each time. To complete the script each authentication request needs to be completed.

Note: There is a known issue with the Microsoft authentication process that may result in an error message during the initial authentication process. If this occurs, re-run the script and the error will no longer show.

  1. The script will run and the results will be written to a html file in the directory in which it was run.
.\RubrikMS365Sizing.html

When 5,000 or In-Place archives are detected, you will receive the following prompt:

[ACTION REQUIRED] In order to periodically refresh the connection to Microsoft, we need the User Principal Name used during the authentication process."
Enter the User Principal Name: 

The "User Principal Name" corresponds with the account name you used to sign into Microsoft 365 during the Modern Authentication process.

To filter OneDrive and Exchange results to a specific subset of users in an AzureAdGroup use the -AzureAdGroupName flag.

./Get-RubrikM365SizingInfo.ps1 -AzureAdGroupName "Employees"

What information does the script access?

The majority of the information collected is directly from the Microsoft 365 Usage reports that are found in the admin center. The benefit of this approach is that the information can be pulled in bulk and does not require a complete crawl of your Microsoft 365 subscription.

The only downside of this approach is that the Usage reports do not contain any In-Place archive information. To gather that information Rubrik will request a separate set of permissions to pull statistics for each In-Place archive in your environment. Depending on the size of you environment, this can take a significant amount of time.

Example Output

image

microsoft-365-sizing's People

Contributors

drew-russell avatar sbuccoliero avatar alexinthis avatar tonypinon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.