概要
Microsoft Graph API を利用してAzureActiveDirectoryから全グループ情報を取得するための Python プログラムです。
Access Token の取得については、このプログラム を使用しています。
全ユーザ情報の取得については こちら を参照ください。
実行環境
macOS Big Sur 11.1
python 3.8.3
実行プログラム
GetAzureADGroups.py
import json
import requests
import argparse
import time
from GetAzureAccessToken import get_azure_access_token # Azureアクセスのためのアクセストークンの取得オリジナル関数
# 全User情報の取得
def get_ad_all_groups(access_token):
# Microsoft Graphを実行するためのヘッダ情報
headers = {
'Authorization': 'Bearer %s' % access_token
}
# 全グループの id, ddisplayName, mail の取得のURL
UsersGet_URL = "https://graph.microsoft.com/v1.0/groups?$count=true&$select=id,displayName,mail&$orderby=displayName"
# 全Users情報取得のGetリクエスト
res1 = requests.get(
UsersGet_URL,
headers=headers
)
# requrest処理をクローズする
res1.close
# res1をjsonファイルに整形しユーザ情報の取得
print("取得した全グループ情報:")
for num, item in enumerate(res1.json()['value']):
print(item)
return num+1
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='AzureActiveDirectoryの全Group情報の取得')
args = parser.parse_args()
start = time.time()
access_token = get_azure_access_token()
num = get_ad_all_groups(access_token)
get_time = time.time() - start
print("")
print(f"全グループ数:{num}")
print("取得時間:{0}".format(get_time) + " [sec]")
print("")
プログラムの実行
最初にヘルプを表示してみます。
$ python GetAzureADGroups.py -h
usage: GetAzureADGroups.py [-h]
AzureActiveDirectoryの全Group情報の取得
optional arguments:
-h, --help show this help message and exit
では、全グループ情報を取得してみます。
$ python GetAzureADGroups.py
取得した全グループ情報:
中略
{'id': 'ae666666-9196-4586-8788-5521024bbbbb', 'displayName': 'PSG0', 'mail': None}
{'id': 'b8811111-2986-4615-8823-11bbdd56d000', 'displayName': 'PSG1', 'mail': None}
{'id': 'de999999-5059-4656-9512-7800bd514444', 'displayName': 'PSG2', 'mail': None}
中略
全グループ数:28
取得時間:0.5144941806793213 [sec]
参考情報
以下の情報を参考にさせていただきました。感謝いたします。