PowerShell 用のマイクロソフト グラフ SDK を使用して Workplace 365 ライセンス レポートを生成する方法

[ad_1]

価格が上昇したときにライセンスを確認する時間

9月9日、私は説明しました PowerShell スクリプトを変換する手順 2022 年 6 月 30 日に動作を停止する Azure AD コマンドレットから、PowerShell 用 Microsoft グラフ SDK の同等のコマンドレットに対する操作が行われます。その後、インタラクティブスクリプトでSDKを使用する際に関連する問題のいくつかを説明しました。与えられた 2022 年 3 月に期限を予定している Office 365 および Microsoft 365 ライセンスの価格上昇に関するマイクロソフトの発表では、テナント内のライセンスセットを監査し、アカウント間のライセンスの配布についていくつか質問する良い時期です。そのためには、ライセンスレポートが必要です。

このようなレポートを生成する例は、来年6月に動作を停止するコマンドレットに基づいて存在します(ここに1つのバージョンがあります) を使用して、SDK コマンドレットを使用してライセンス レポートを生成する手順を説明します。

ステージ 1: テナントのライセンス データを抽出する

レポートを生成する基本的な手順は、2 つの段階で行います。まず、次の 2 つのデータ (CSV) ファイルを作成します。

  • テナントで使用される製品ライセンス (SKU)。
  • 製品ライセンスに属するサービスプラン。サービスプランは、Exchange オンラインやチームのような Office 365 E3 のような製品ライセンスにバンドルされています。

すべてのテナントが異なるため、いくつかのコード(GitHub から入手できます。)をクリックしてこれらのファイルを生成します。グラフに接続し、ベータプロファイルを選択してライセンスデータが利用可能であることを確認し、 ゲット・Mgサブスクライブスク コマンドレットを使用して、テナントのライセンス データを取得します。次に、製品のリスト (SKU) を CSV にエクスポートしてから、製品をループ処理してサービスプランを抽出し、2 番目の CSV にエクスポートします。

このコードは 2 つのファイルを生成します。ただし、生成されたデータにはライセンスとサービスプランとコード名を識別するGUIDが含まれているため、ファイルを使用するには、それらを使用する前にいくらかのマッサージが必要です。たとえば、6fd2c87f-b296-42f0-b197-1e91e994b900 は、コード名が ENTERPRISEPACK の Office 365 E3 を識別する GUID であり、3fb82609-8c27-4f7b-bd51-3063471e は、例えば計画です。これは、コードBPOS_S_TODO_3、Office 365 E5 に含まれる To Do サービス プランです。

これらの値をレポートで使用することもできますが、ユーザーフレンドリな (またはユーザーが理解できる) 名前を付けたいのも良いでしょう。したがって、CSV ファイルを編集して、ユーザーフレンドリ名を含む DisplayName という列を追加します。図 1 は、サービス計画データを保持する CSV ファイルの編集を示しています。

表示名によるサービス計画情報の更新
図 1: 表示名によるサービス・プラン情報の更新

マイクロソフトが使用する値を解釈することは、それ自体に芸術です。ザ 製品名とサービス プランのライセンス ページ 貴重なリソースですが、時には使用中の製品やサービスプランに関する知識に基づいて推測の問題になることがあります。

ファイルの編集が完了したら、レポート スクリプトで使用されるファイル名と一致するようにファイル名を変更します。これらは:

  • c:tempSkuDataComplete.csv: 製品データ
  • c:tempサービスプランデータ完了.csv: サービスプランデータ。

もちろん、スクリプト コードを一致するように更新する場合は、任意の名前を使用できます。

ステージ 2: レポートの生成

レポートの作成手順は簡単です。

  • 以前と同じ Microsoft グラフに接続します。
  • 入力データファイルが使用可能であることを確認し、使用できない場合は終了します。
  • を使用して Azure AD ユーザー アカウントのセットを取得します。 ゲット・Mgユーザー コマンドレット。
  • ユーザー アカウントのセットをループします。
  • ライセンスされたアカウントごとに (リソースや共有メールボックスに使用されるアカウントなど、ライセンスは必要ありません)、ライセンス データを抽出し、無効になっているサービス プランがライセンスに含まれるかどうかを確認します。入力データファイルに対して情報をチェックして、人間にわかりやすい名前を付けます。
  • ライセンス情報を PowerShell リストに記録します。
  • ユーザー アカウントを処理した後、ライセンス情報を含む HTML レポートと CSV ファイルを作成します。

メインループは次のとおりです(以下のことができます 完全なスクリプトを GitHub からダウンロードする):

図 2 は、スクリプトによって生成されたライセンス情報を示しています。ご覧のとおり、Azure AD アカウントの国と部門のプロパティを含め、それらのプロパティに基づいて情報を並べ替えることができます。これは PowerShell コードであるため、Azure AD ユーザー アカウントで使用できるプロパティを、レポートに含まれるセットに簡単に追加できます。

アウトグリッドビューを使用してライセンス情報を表示する
図 2: アウト グリッド ビューを使用したライセンス情報の表示

図 3 は、レポートの HTML バージョンを示しています。

Microsoft 365 テナントのライセンス レポートの HTML バージョン
図 3: Microsoft 365 テナントのライセンス レポートの HTML バージョン

他の他のレポートとは別に、このようなレポートは、Azure AD に格納されているユーザー情報の欠陥も強調しています。図 3 では、いくつかのアカウントに国のプロパティが存在しませんが、一部は役職を持たないことがわかります。これらの不備は、Office 365 内のさまざまな場所に表示される情報に影響を与えます。 ユーザー プロファイル カード とチームで利用可能なユーザーの組織ビュー。

レポートの実行

ライセンス レポートの生成は、四半期ごとまたは半年ごとに行うものです。その場合は、対話型の Graph SDK 接続を使用してスクリプトを実行しても問題ないでしょう。一方、より規則的な出力が必要な場合は、スクリプトの実行に使用する Azure AD に新しい登録済みアプリを作成することを検討してください。 (アプリのみのアクセス).

このコードは PowerShell であり、ライセンス レポートの生成の背後にある原則を調査して説明するために記述したコードがあります。何をすべきかを知ったので、あなたの想像力が暴動を実行し、ライセンスデータを利用する興味深い方法の種類を教えてください。



[ad_2]

未分類

Posted by admin