Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pnp/cli-microsoft365

Manage Microsoft 365 and SharePoint Framework projects on any platform
https://github.com/pnp/cli-microsoft365

azure azure-active-directory azure-ad cli hacktoberfest microsoft microsoft-365 microsoft-graph microsoft-planner microsoft-power-apps microsoft-power-automate microsoft-teams microsoft-viva microsoft365 office-365 office365 sharepoint sharepoint-framework sharepoint-online spfx

Last synced: about 14 hours ago
JSON representation

Manage Microsoft 365 and SharePoint Framework projects on any platform

Awesome Lists containing this project

README

        



CLI for Microsoft 365


CLI for Microsoft 365


One CLI for Microsoft 365



GitHub


Discord


X



npm @pnp/cli-microsoft365@latest


npm @pnp/cli-microsoft365@next

CLI for Microsoft 365 helps you manage your Microsoft 365 tenant and SharePoint Framework projects.


Website |
Features |
Install |
Usage |
Build |
Contribute



Code of Conduct |
Need help? |
Disclaimer



Microsoft 365 & Power Platform Community



CLI for Microsoft 365

## Features

- Run on any OS
- Linux
- MacOS
- Windows
- Run on any shell
- Azure Cloud Shell
- bash
- cmder
- PowerShell
- zsh
- Unified login
- Access all your Microsoft 365 workloads
- Supported workloads
- Bookings
- Microsoft Entra ID
- Microsoft Teams
- Microsoft To Do
- Microsoft Viva
- OneDrive
- OneNote
- Outlook
- Planner
- Power Automate
- Power Apps
- Power Platform
- Purview
- Skype for Business
- SharePoint Online
- To Do
- Supported authentication methods
- Azure Managed Identity
- Certificate
- Client Secret
- Device Code
- Username and Password
- Manage your SharePoint Framework projects
- Upgrade your projects
- Check your environment compatibility

> Follow our [X](https://x.com/climicrosoft365) account to keep yourself updated about new features, improvements, and bug fixes.

## Install

To use the CLI for Microsoft 365 you need [`Node.js`](https://nodejs.org). The CLI has been tested with Node.js versions 18 and higher, but we recommend you to use the Node.js LTS version available at the moment.

```
npm install -g @pnp/cli-microsoft365
```

Install beta version ฮฒ

```
npm install -g @pnp/cli-microsoft365@next
```

Alternate package managers ๐Ÿงถ

### yarn

```
yarn global add @pnp/cli-microsoft365
```

### npx

```
npx @pnp/cli-microsoft365
```

Run CLI for Microsoft 365 in a Docker container ๐Ÿณ

```
docker run --rm -it m365pnp/cli-microsoft365:latest
```

Checkout our [guide](https://pnp.github.io/cli-microsoft365/user-guide/run-cli-in-docker-container/) to learn more about how to run CLI for Microsoft 365 using Docker

## Usage

>Before logging in, you should create a custom Microsoft Entra application registration. Use the `m365 setup` command or refer to the [Using your own Microsoft Entra identity](https://pnp.github.io/cli-microsoft365/user-guide/using-own-identity/) guide.

Use the `login` command to start the Device Code login flow to authenticate with your Microsoft 365 tenant.

```sh
m365 login
```

>For alternative authentication methods and usage, refer to the [login](https://pnp.github.io/cli-microsoft365/cmd/login/) command documentation

List all commands using the global `--help` option.

```sh
m365 --help
```

Get command information and example usage using the global `--help` option.

```sh
m365 spo site get --help
```

Execute a command and output response as JSON.

```sh
m365 spo site get --url https://contoso.sharepoint.com
```

Filter responses and return custom objects using [JMESPath](https://jmespath.org/) queries using the global `--query` option.

```sh
m365 spo site list --query '[?Template==`GROUP#0`].{Title:Title, Url:Url}'
```

Execute a command and output response as text using the global `--output` option.

```sh
m365 spo site get --url https://contoso.sharepoint.com --output text
```

> For more examples and usage, refer to the [command](https://pnp.github.io/cli-microsoft365/cmd/login/) and [sample scripts](https://pnp.github.io/cli-microsoft365/sample-scripts/) documentation.

## Build

To build and run this CLI locally, you will need [`node`](https://nodejs.org) `>= 20.0.0` installed.

```sh
# Clone this repository
$ git clone https://github.com/pnp/cli-microsoft365

# Go into the repository
$ cd cli-microsoft365

# Install dependencies
$ npm install

# Build the CLI
$ npm run build

# Symlink your local CLI build
$ npm link
```

When you execute any `m365` command from the terminal, it will now use your local clone of the CLI.

## Contribute

We love to accept contributions.

If you want to get involved with helping us grow the CLI, whether that is suggesting or adding a new command, extending an existing command or updating our documentation, we would love to hear from you.

Checkout our [Wiki](https://github.com/pnp/cli-microsoft365/wiki) for guides on how to contribute to this project.

## Need Help?


Join our community




Discord

## Microsoft 365 & Power Platform Community

CLI for Microsoft 365 is a [Microsoft 365 & Power Platform Community](https://pnp.github.io) (PnP) project. Microsoft 365 & Power Platform Community is a virtual team consisting of Microsoft employees and community members focused on helping the community make the best use of Microsoft products. CLI for Microsoft 365 is an open-source project not affiliated with Microsoft and not covered by Microsoft support. If you experience any issues using the CLI, please submit an issue in the [issues list](https://github.com/pnp/cli-microsoft365/issues).

## Disclaimer

**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**

![telemetry](https://telemetry.sharepointpnp.com/cli-microsoft365/readme)