user: assignLicense
[アーティクル] 07/24/2024
12 人の共同作成者
フィードバック
この記事の内容
名前空間: microsoft.graph
ユーザーがライセンスを持っている Microsoft クラウド オファリングの使用を有効または無効にするライセンスを追加または削除します。 たとえば、組織は 100 個のライセンスを持つ Microsoft 365 Enterprise E3 サブスクリプションを持つ場合があり、この要求によってそれらのライセンスの 1 つが特定のユーザーに割り当てられます。 サブスクリプションに関連付けられている特定のプランを有効または無効にすることもできます。
この API は、次の国内クラウド展開 で使用できます。
グローバル サービス
米国政府機関 L4
米国政府機関 L5 (DOD)
21Vianet が運営する中国
✅
✅
✅
✅
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。
アプリで必要な場合にのみ 、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類 」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス 」を参照してください。
アクセス許可の種類
最小特権アクセス許可
より高い特権のアクセス許可
委任 (職場または学校のアカウント)
LicenseAssignment.ReadWrite.All
Directory.ReadWrite.All、User.ReadWrite.All
委任 (個人用 Microsoft アカウント)
サポートされていません。
サポートされていません。
アプリケーション
LicenseAssignment.ReadWrite.All
Directory.ReadWrite.All、User.ReadWrite.All
委任されたシナリオの場合、呼び出し元のユーザーには、次の Microsoft Entra ロール の少なくとも 1 つが必要です。
ディレクトリ製作者
ライセンス管理者
ユーザー管理者
HTTP 要求
POST /users/{id | userPrincipalName}/assignLicense
ヘッダー
値
Authorization
ベアラー {token}。 必須です。
認証と認可 についての詳細をご覧ください。
Content-Type
application/json
要求本文
要求本文で、次のパラメーターを含む JSON オブジェクトを指定します。
パラメーター
型
説明
addLicenses
assignedLicense コレクション
追加するライセンスを指定する assignedLicense オブジェクトのコレクション。
assignedLicense オブジェクトで disabledPlans プロパティを設定することで、ライセンスに関連付けられている servicePlans を無効にすることができます。
removeLicenses
Guid コレクション
削除するライセンスを識別する skuId のコレクション。 必須です。
応答
成功した場合、このメソッドは 200 OK
応答コードと、応答本文でユーザー オブジェクトを返します。
例
以下は、この API を呼び出す方法の例です。
要求
次の例は要求を示しています。
POST https://graph.microsoft.com/v1.0/me/assignLicense
Content-type: application/json
{
"addLicenses": [
{
"disabledPlans": [ "11b0131d-43c8-4bbb-b2c8-e80f9a50834a" ],
"skuId": "45715bb8-13f9-4bf6-927f-ef96c102d394"
}
],
"removeLicenses": [ "bea13e0c-3828-4daa-a392-28af7ff61a0f" ]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Me.AssignLicense;
using Microsoft.Graph.Models;
var requestBody = new AssignLicensePostRequestBody
{
AddLicenses = new List<AssignedLicense>
{
new AssignedLicense
{
DisabledPlans = new List<Guid?>
{
Guid.Parse("11b0131d-43c8-4bbb-b2c8-e80f9a50834a"),
},
SkuId = Guid.Parse("45715bb8-13f9-4bf6-927f-ef96c102d394"),
},
},
RemoveLicenses = new List<Guid?>
{
Guid.Parse("bea13e0c-3828-4daa-a392-28af7ff61a0f"),
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Me.AssignLicense.PostAsync(requestBody);
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
mgc users assign-license post --user-id {user-id} --body '{\
"addLicenses": [\
{\
"disabledPlans": [ "11b0131d-43c8-4bbb-b2c8-e80f9a50834a" ],\
"skuId": "45715bb8-13f9-4bf6-927f-ef96c102d394"\
}\
],\
"removeLicenses": [ "bea13e0c-3828-4daa-a392-28af7ff61a0f" ]\
}\
'
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphusers.NewItemAssignLicensePostRequestBody()
assignedLicense := graphmodels.NewAssignedLicense()
disabledPlans := []uuid.UUID {
uuid.MustParse("11b0131d-43c8-4bbb-b2c8-e80f9a50834a"),
}
assignedLicense.SetDisabledPlans(disabledPlans)
skuId := uuid.MustParse("45715bb8-13f9-4bf6-927f-ef96c102d394")
assignedLicense.SetSkuId(&skuId)
addLicenses := []graphmodels.AssignedLicenseable {
assignedLicense,
}
requestBody.SetAddLicenses(addLicenses)
removeLicenses := []uuid.UUID {
uuid.MustParse("bea13e0c-3828-4daa-a392-28af7ff61a0f"),
}
requestBody.SetRemoveLicenses(removeLicenses)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
assignLicense, err := graphClient.Me().AssignLicense().Post(context.Background(), requestBody, nil)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.users.item.assignlicense.AssignLicensePostRequestBody assignLicensePostRequestBody = new com.microsoft.graph.users.item.assignlicense.AssignLicensePostRequestBody();
LinkedList<AssignedLicense> addLicenses = new LinkedList<AssignedLicense>();
AssignedLicense assignedLicense = new AssignedLicense();
LinkedList<UUID> disabledPlans = new LinkedList<UUID>();
disabledPlans.add(UUID.fromString("11b0131d-43c8-4bbb-b2c8-e80f9a50834a"));
assignedLicense.setDisabledPlans(disabledPlans);
assignedLicense.setSkuId(UUID.fromString("45715bb8-13f9-4bf6-927f-ef96c102d394"));
addLicenses.add(assignedLicense);
assignLicensePostRequestBody.setAddLicenses(addLicenses);
LinkedList<UUID> removeLicenses = new LinkedList<UUID>();
removeLicenses.add(UUID.fromString("bea13e0c-3828-4daa-a392-28af7ff61a0f"));
assignLicensePostRequestBody.setRemoveLicenses(removeLicenses);
var result = graphClient.me().assignLicense().post(assignLicensePostRequestBody);
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
const options = {
authProvider,
};
const client = Client.init(options);
const user = {
addLicenses: [
{
disabledPlans: [ '11b0131d-43c8-4bbb-b2c8-e80f9a50834a' ],
skuId: '45715bb8-13f9-4bf6-927f-ef96c102d394'
}
],
removeLicenses: [ 'bea13e0c-3828-4daa-a392-28af7ff61a0f' ]
};
await client.api('/me/assignLicense')
.post(user);
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Users\Item\AssignLicense\AssignLicensePostRequestBody;
use Microsoft\Graph\Generated\Models\AssignedLicense;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AssignLicensePostRequestBody();
$addLicensesAssignedLicense1 = new AssignedLicense();
$addLicensesAssignedLicense1->setDisabledPlans(['11b0131d-43c8-4bbb-b2c8-e80f9a50834a', ]);
$addLicensesAssignedLicense1->setSkuId('45715bb8-13f9-4bf6-927f-ef96c102d394');
$addLicensesArray []= $addLicensesAssignedLicense1;
$requestBody->setAddLicenses($addLicensesArray);
$requestBody->setRemoveLicenses(['bea13e0c-3828-4daa-a392-28af7ff61a0f', ]);
$result = $graphServiceClient->me()->assignLicense()->post($requestBody)->wait();
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
Import-Module Microsoft.Graph.Users.Actions
$params = @{
addLicenses = @(
@{
disabledPlans = @(
"11b0131d-43c8-4bbb-b2c8-e80f9a50834a"
)
skuId = "45715bb8-13f9-4bf6-927f-ef96c102d394"
}
)
removeLicenses = @(
"bea13e0c-3828-4daa-a392-28af7ff61a0f"
)
}
# A UPN can also be used as -UserId.
Set-MgUserLicense -UserId $userId -BodyParameter $params
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
from msgraph import GraphServiceClient
from msgraph.generated.users.item.assign_license.assign_license_post_request_body import AssignLicensePostRequestBody
from msgraph.generated.models.assigned_license import AssignedLicense
graph_client = GraphServiceClient(credentials, scopes)
request_body = AssignLicensePostRequestBody(
add_licenses = [
AssignedLicense(
disabled_plans = [
UUID("11b0131d-43c8-4bbb-b2c8-e80f9a50834a"),
],
sku_id = UUID("45715bb8-13f9-4bf6-927f-ef96c102d394"),
),
],
remove_licenses = [
UUID("bea13e0c-3828-4daa-a392-28af7ff61a0f"),
],
)
result = await graph_client.me.assign_license.post(request_body)
プロジェクトに SDK を追加 し、authProvider インスタンスを作成 する方法の詳細については、SDK のドキュメント を参照してください。
応答
次の例は応答を示しています。 注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 200 OK
Content-type: application/json
{
"accountEnabled": true,
"assignedLicenses": [
{
"disabledPlans": [ "11b0131d-43c8-4bbb-b2c8-e80f9a50834a" ],
"skuId": "0118A350-71FC-4EC3-8F0C-6A1CB8867561"
}
],
"assignedPlans": [
{
"assignedDateTime": "2016-10-02T12:13:14Z",
"capabilityStatus": "capabilityStatus-value",
"service": "service-value",
"servicePlanId": "bea13e0c-3828-4daa-a392-28af7ff61a0f"
}
],
"businessPhones": [
"businessPhones-value"
],
"city": "city-value",
"companyName": "companyName-value"
}