API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения
Разрешения с наименьшими привилегиями
Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись)
WindowsUpdates.ReadWrite.All
Недоступно.
Делегированные (личная учетная запись Майкрософт)
Не поддерживается.
Не поддерживается.
Приложение
WindowsUpdates.ReadWrite.All
Недоступно.
Важно!
В делегированных сценариях с рабочими или учебными учетными записями вошедшего пользователя должен быть владельцем или членом группы либо ему должна быть назначена поддерживаемая роль Microsoft Entra или пользовательская роль с разрешением поддерживаемой роли.
Intune администратор или администратор развертывания клиентский компонент Центра обновления Windows являются наименее привилегированными ролями, поддерживаемыми для этой операции.
Изменения соответствия требованиям, например утверждения содержимого, которые приводят к автоматическому созданию развертываний с использованием аудитории и deploymentSettings политики.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models.WindowsUpdates;
var requestBody = new UpdatePolicy
{
OdataType = "#microsoft.graph.windowsUpdates.updatePolicy",
Audience = new DeploymentAudience
{
Id = "8c4eb1eb-d7a3-4633-8e2f-f926e82df08e",
},
ComplianceChanges = new List<ComplianceChange>
{
new ContentApproval
{
OdataType = "#microsoft.graph.windowsUpdates.contentApproval",
},
},
ComplianceChangeRules = new List<ComplianceChangeRule>
{
new ContentApprovalRule
{
OdataType = "#microsoft.graph.windowsUpdates.contentApprovalRule",
ContentFilter = new DriverUpdateFilter
{
OdataType = "#microsoft.graph.windowsUpdates.driverUpdateFilter",
},
DurationBeforeDeploymentStart = TimeSpan.Parse("P7D"),
},
},
DeploymentSettings = new DeploymentSettings
{
OdataType = "microsoft.graph.windowsUpdates.deploymentSettings",
Schedule = new ScheduleSettings
{
GradualRollout = new RateDrivenRolloutSettings
{
OdataType = "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings",
DurationBetweenOffers = TimeSpan.Parse("P1D"),
AdditionalData = new Dictionary<string, object>
{
{
"devicePerOffer" , 1000
},
},
},
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Admin.Windows.Updates.UpdatePolicies.PostAsync(requestBody);
Важно!
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodelswindowsupdates "github.com/microsoftgraph/msgraph-beta-sdk-go/models/windowsupdates"
//other-imports
)
requestBody := graphmodelswindowsupdates.NewUpdatePolicy()
audience := graphmodelswindowsupdates.NewDeploymentAudience()
id := "8c4eb1eb-d7a3-4633-8e2f-f926e82df08e"
audience.SetId(&id)
requestBody.SetAudience(audience)
complianceChange := graphmodelswindowsupdates.NewContentApproval()
complianceChanges := []graphmodelswindowsupdates.ComplianceChangeable {
complianceChange,
}
requestBody.SetComplianceChanges(complianceChanges)
complianceChangeRule := graphmodelswindowsupdates.NewContentApprovalRule()
contentFilter := graphmodelswindowsupdates.NewDriverUpdateFilter()
complianceChangeRule.SetContentFilter(contentFilter)
durationBeforeDeploymentStart , err := abstractions.ParseISODuration("P7D")
complianceChangeRule.SetDurationBeforeDeploymentStart(&durationBeforeDeploymentStart)
complianceChangeRules := []graphmodelswindowsupdates.ComplianceChangeRuleable {
complianceChangeRule,
}
requestBody.SetComplianceChangeRules(complianceChangeRules)
deploymentSettings := graphmodelswindowsupdates.NewDeploymentSettings()
schedule := graphmodelswindowsupdates.NewScheduleSettings()
gradualRollout := graphmodelswindowsupdates.NewRateDrivenRolloutSettings()
durationBetweenOffers , err := abstractions.ParseISODuration("P1D")
gradualRollout.SetDurationBetweenOffers(&durationBetweenOffers)
additionalData := map[string]interface{}{
"devicePerOffer" : int32(1000) ,
}
gradualRollout.SetAdditionalData(additionalData)
schedule.SetGradualRollout(gradualRollout)
deploymentSettings.SetSchedule(schedule)
requestBody.SetDeploymentSettings(deploymentSettings)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
updatePolicies, err := graphClient.Admin().Windows().Updates().UpdatePolicies().Post(context.Background(), requestBody, nil)
Важно!
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.models.windowsupdates.UpdatePolicy updatePolicy = new com.microsoft.graph.beta.models.windowsupdates.UpdatePolicy();
updatePolicy.setOdataType("#microsoft.graph.windowsUpdates.updatePolicy");
com.microsoft.graph.beta.models.windowsupdates.DeploymentAudience audience = new com.microsoft.graph.beta.models.windowsupdates.DeploymentAudience();
audience.setId("8c4eb1eb-d7a3-4633-8e2f-f926e82df08e");
updatePolicy.setAudience(audience);
LinkedList<com.microsoft.graph.beta.models.windowsupdates.ComplianceChange> complianceChanges = new LinkedList<com.microsoft.graph.beta.models.windowsupdates.ComplianceChange>();
com.microsoft.graph.beta.models.windowsupdates.ContentApproval complianceChange = new com.microsoft.graph.beta.models.windowsupdates.ContentApproval();
complianceChange.setOdataType("#microsoft.graph.windowsUpdates.contentApproval");
complianceChanges.add(complianceChange);
updatePolicy.setComplianceChanges(complianceChanges);
LinkedList<com.microsoft.graph.beta.models.windowsupdates.ComplianceChangeRule> complianceChangeRules = new LinkedList<com.microsoft.graph.beta.models.windowsupdates.ComplianceChangeRule>();
com.microsoft.graph.beta.models.windowsupdates.ContentApprovalRule complianceChangeRule = new com.microsoft.graph.beta.models.windowsupdates.ContentApprovalRule();
complianceChangeRule.setOdataType("#microsoft.graph.windowsUpdates.contentApprovalRule");
com.microsoft.graph.beta.models.windowsupdates.DriverUpdateFilter contentFilter = new com.microsoft.graph.beta.models.windowsupdates.DriverUpdateFilter();
contentFilter.setOdataType("#microsoft.graph.windowsUpdates.driverUpdateFilter");
complianceChangeRule.setContentFilter(contentFilter);
PeriodAndDuration durationBeforeDeploymentStart = PeriodAndDuration.ofDuration(Duration.parse("P7D"));
complianceChangeRule.setDurationBeforeDeploymentStart(durationBeforeDeploymentStart);
complianceChangeRules.add(complianceChangeRule);
updatePolicy.setComplianceChangeRules(complianceChangeRules);
com.microsoft.graph.beta.models.windowsupdates.DeploymentSettings deploymentSettings = new com.microsoft.graph.beta.models.windowsupdates.DeploymentSettings();
deploymentSettings.setOdataType("microsoft.graph.windowsUpdates.deploymentSettings");
com.microsoft.graph.beta.models.windowsupdates.ScheduleSettings schedule = new com.microsoft.graph.beta.models.windowsupdates.ScheduleSettings();
com.microsoft.graph.beta.models.windowsupdates.RateDrivenRolloutSettings gradualRollout = new com.microsoft.graph.beta.models.windowsupdates.RateDrivenRolloutSettings();
gradualRollout.setOdataType("#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings");
PeriodAndDuration durationBetweenOffers = PeriodAndDuration.ofDuration(Duration.parse("P1D"));
gradualRollout.setDurationBetweenOffers(durationBetweenOffers);
HashMap<String, Object> additionalData = new HashMap<String, Object>();
additionalData.put("devicePerOffer", 1000);
gradualRollout.setAdditionalData(additionalData);
schedule.setGradualRollout(gradualRollout);
deploymentSettings.setSchedule(schedule);
updatePolicy.setDeploymentSettings(deploymentSettings);
com.microsoft.graph.models.windowsupdates.UpdatePolicy result = graphClient.admin().windows().updates().updatePolicies().post(updatePolicy);
Важно!
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\UpdatePolicy;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\DeploymentAudience;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\ComplianceChange;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\ContentApproval;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\ComplianceChangeRule;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\ContentApprovalRule;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\DriverUpdateFilter;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\DeploymentSettings;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\ScheduleSettings;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\RateDrivenRolloutSettings;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new UpdatePolicy();
$requestBody->setOdataType('#microsoft.graph.windowsUpdates.updatePolicy');
$audience = new DeploymentAudience();
$audience->setId('8c4eb1eb-d7a3-4633-8e2f-f926e82df08e');
$requestBody->setAudience($audience);
$complianceChangesComplianceChange1 = new ContentApproval();
$complianceChangesComplianceChange1->setOdataType('#microsoft.graph.windowsUpdates.contentApproval');
$complianceChangesArray []= $complianceChangesComplianceChange1;
$requestBody->setComplianceChanges($complianceChangesArray);
$complianceChangeRulesComplianceChangeRule1 = new ContentApprovalRule();
$complianceChangeRulesComplianceChangeRule1->setOdataType('#microsoft.graph.windowsUpdates.contentApprovalRule');
$complianceChangeRulesComplianceChangeRule1ContentFilter = new DriverUpdateFilter();
$complianceChangeRulesComplianceChangeRule1ContentFilter->setOdataType('#microsoft.graph.windowsUpdates.driverUpdateFilter');
$complianceChangeRulesComplianceChangeRule1->setContentFilter($complianceChangeRulesComplianceChangeRule1ContentFilter);
$complianceChangeRulesComplianceChangeRule1->setDurationBeforeDeploymentStart(new \DateInterval('P7D'));
$complianceChangeRulesArray []= $complianceChangeRulesComplianceChangeRule1;
$requestBody->setComplianceChangeRules($complianceChangeRulesArray);
$deploymentSettings = new DeploymentSettings();
$deploymentSettings->setOdataType('microsoft.graph.windowsUpdates.deploymentSettings');
$deploymentSettingsSchedule = new ScheduleSettings();
$deploymentSettingsScheduleGradualRollout = new RateDrivenRolloutSettings();
$deploymentSettingsScheduleGradualRollout->setOdataType('#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings');
$deploymentSettingsScheduleGradualRollout->setDurationBetweenOffers(new \DateInterval('P1D'));
$additionalData = [
'devicePerOffer' => 1000,
];
$deploymentSettingsScheduleGradualRollout->setAdditionalData($additionalData);
$deploymentSettingsSchedule->setGradualRollout($deploymentSettingsScheduleGradualRollout);
$deploymentSettings->setSchedule($deploymentSettingsSchedule);
$requestBody->setDeploymentSettings($deploymentSettings);
$result = $graphServiceClient->admin()->windows()->updates()->updatePolicies()->post($requestBody)->wait();
Важно!
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.windows_updates.update_policy import UpdatePolicy
from msgraph_beta.generated.models.windows_updates.deployment_audience import DeploymentAudience
from msgraph_beta.generated.models.windows_updates.compliance_change import ComplianceChange
from msgraph_beta.generated.models.windows_updates.content_approval import ContentApproval
from msgraph_beta.generated.models.windows_updates.compliance_change_rule import ComplianceChangeRule
from msgraph_beta.generated.models.windows_updates.content_approval_rule import ContentApprovalRule
from msgraph_beta.generated.models.windows_updates.driver_update_filter import DriverUpdateFilter
from msgraph_beta.generated.models.windows_updates.deployment_settings import DeploymentSettings
from msgraph_beta.generated.models.windows_updates.schedule_settings import ScheduleSettings
from msgraph_beta.generated.models.windows_updates.rate_driven_rollout_settings import RateDrivenRolloutSettings
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = UpdatePolicy(
odata_type = "#microsoft.graph.windowsUpdates.updatePolicy",
audience = DeploymentAudience(
id = "8c4eb1eb-d7a3-4633-8e2f-f926e82df08e",
),
compliance_changes = [
ContentApproval(
odata_type = "#microsoft.graph.windowsUpdates.contentApproval",
),
],
compliance_change_rules = [
ContentApprovalRule(
odata_type = "#microsoft.graph.windowsUpdates.contentApprovalRule",
content_filter = DriverUpdateFilter(
odata_type = "#microsoft.graph.windowsUpdates.driverUpdateFilter",
),
duration_before_deployment_start = "P7D",
),
],
deployment_settings = DeploymentSettings(
odata_type = "microsoft.graph.windowsUpdates.deploymentSettings",
schedule = ScheduleSettings(
gradual_rollout = RateDrivenRolloutSettings(
odata_type = "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings",
duration_between_offers = "P1D",
additional_data = {
"device_per_offer" : 1000,
}
),
),
),
)
result = await graph_client.admin.windows.updates.update_policies.post(request_body)
Важно!
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.