#Microsoft365 の管理センター上で #CloudShell 使っていろいろやってみた #PowerShell

この記事は、 [Office365 Advent Calendar 2020](https://adventar.org/calendars/5362) 20日目の記事です。

# 管理センターで Cloud Shell が使えるようになったぞ！！

今年の9月ぐらいですかね
Microsoft 365 の管理センターからCloud Shell が使えるようになりました。

[Azure Cloud Shell の概要](https://docs.microsoft.com/ja-jp/azure/cloud-shell/overview?WT.mc_id=M365-MVP-5003651)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/9166016e-e921-bf29-8b96-2c52d1f2f299.png)

Azure の Cloud Shell と基本的には同じで、PowerShellやBashコマンドをブラウザ上で実行できるものとなっています。

いやー正直めちゃくちゃうれしかったですよねこれ。
だって、Microsoft 365 の設定について、画面じゃ見れない部分は PowerShell 投げないといけないけど、パソコンにPowerShell入れて認証したり、PowerShellギャラリーをインストールしたりみたいなことしないといけませんでしたからね。

そ・れ・に・・・

**iPad でも操作できる**

ってところですよねー

![20201222_123139.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/260cb1a3-2e1d-0f12-b5b6-87a69055ab7c.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/d8fbed63-0e24-b239-d3ca-48a6658c22d3.png)

（まぁやる人がいるかどうかはわからないけど・・・）

なお、使用するには Azure のサブスクリプションが必要となります。
登録するだけだったら基本無料なので、これを気に登録してみてはいかがでしょうか＼( 'ω')／

# Teams への接続

Teamsの接続は以下のコマンドを使うことで接続できます。

```
Connect-MicrosoftTeams
```

すると以下のような文言が表示されます

> WARNING: To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code XXXXXXXX to authenticate.

これは、今使ってるブラウザで、このサイトに飛んで、Code XXXXXXXXX を使って認証してくださいってことですね。
ってなわけで、サイトを開きます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/1a189dca-57cc-a09f-d724-eedc0d7cb1e4.png)

このような表示になっているので、プロンプトに表示されているコードを入力します。

アカウント認証を求められますので、適宜入力していきます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/c62c52f4-402f-fd29-466a-38234c9b00da.png)

認証が完了すると、この画面が表示されるので、元の画面に戻って問題ないです

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/daa77888-6f12-0fcd-e9a4-7864af6c915c.png)

プロンプトに戻ると何やら色々ログが吐かれている様子・・・

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/30553cab-7a76-964d-f616-eb195183e93f.png)

試しにTeams のチーム一覧でも取得してみましょう

```
get-team | format-table
```

おおー！ちゃんと取れてますね！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/1e3e2a9b-c382-3bcf-58b7-68e8cac9c41e.png)



# Exchange への接続

次にExchange にもつなげてみましょう！

Exchange の場合は、こちらの記事を参考にアクセスすればよいですね！

[Exchange Online PowerShell に接続する](https://docs.microsoft.com/ja-jp/powershell/exchange/connect-to-exchange-online-powershell?view=exchange-ps&WT.mc_id=M365-MVP-5003651)

とりあえずコマンド打ってみたけど・・・

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/3be9b311-3877-832f-d74e-ee5a2fd21358.png)

そんなコマンドしらんって怒られちゃいましたね・・・
インポートもできないっぽいです。

仕方ない・・・

インストールしちゃいますか。
※ブラウザ閉じたり、Shell再起動すると元の状態に戻ります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/2fb225e3-182e-da22-387c-fc616162f173.png)

ええええ？？
なんやてーー！？
UserPrincipalNameオプションが使えない？？？！

ちょっとまってちょっとまって・・・
クライアントアプリからなら普通に動くのに何でよ(´；ω；`)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/f025ad9e-51fb-d6fa-8088-fa2f56ec7caa.png)

# まとめ

というわけで、CloudShellが出てきまして、よく触りそうな、TeamsやExchangeを繋いでみるってところをやってみました。
結論を言うと、できることがあったりできないことがあったりって感じですね。
特にExchangeはかなり古い時からある製品なので、コマンドレットも正しく動作したりしなかったりということもあります。
※現に今回使っている Connect-ExchangeOnline は PowerShell 7 では正しく動作しないです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269159/ae136e72-feef-9838-99d9-a054fab30b12.png)



まだまだ発展途上な部分もありますが、管理面において細かな部分も見れるようになり始めたという点においては非常に有用なんじゃないかなと思いますので、皆様もぜひ活用してみてください！