命名空间:microsoft.graph
重要
Microsoft Graph /beta 版本下的 API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
创建新的 部署 对象。
此 API 可用于以下国家级云部署。
| 全局服务 |
美国政府 L4 |
美国政府 L5 (DOD) |
由世纪互联运营的中国 |
| ✅ |
✅ |
✅ |
❌ |
权限
为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
| 权限类型 |
最低特权权限 |
更高特权权限 |
| 委派(工作或学校帐户) |
WindowsUpdates.ReadWrite.All |
不可用。 |
| 委派(个人 Microsoft 帐户) |
不支持。 |
不支持。 |
| 应用程序 |
WindowsUpdates.ReadWrite.All |
不可用。 |
重要
在具有工作或学校帐户的委托方案中,登录用户必须是组的所有者或成员,或者分配有受支持的Microsoft Entra角色或具有支持的角色权限的自定义角色。
Intune管理员或Windows 更新部署管理员是此作支持的最低特权角色。
HTTP 请求
POST /admin/windows/updates/deployments
| 名称 |
说明 |
| Authorization |
持有者 {token}。 必填。 详细了解 身份验证和授权。 |
| Content-Type |
application/json. 必需。 |
请求正文
在请求正文中,提供 部署 对象的 JSON 表示形式。
下表列出了创建 部署时所需的属性。
响应
如果成功,此方法在 201 Created 响应正文中返回响应代码和 部署 对象。
示例
请求
POST https://graph.microsoft.com/beta/admin/windows/updates/deployments
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.windowsUpdates.deployment",
"content": {
"@odata.type": "#microsoft.graph.windowsUpdates.catalogContent",
"catalogEntry": {
"@odata.type": "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry",
"id": "f341705b-0b15-4ce3-aaf2-6a1681d78606"
}
},
"settings": {
"@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings",
"schedule": {
"gradualRollout": {
"@odata.type": "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings",
"durationBetweenOffers": "P7D",
"devicesPerOffer": 100
}
},
"monitoring": {
"monitoringRules": [
{
"signal": "rollback",
"threshold": 5,
"action": "pauseDeployment"
}
]
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models.WindowsUpdates;
var requestBody = new Deployment
{
OdataType = "#microsoft.graph.windowsUpdates.deployment",
Content = new CatalogContent
{
OdataType = "#microsoft.graph.windowsUpdates.catalogContent",
CatalogEntry = new FeatureUpdateCatalogEntry
{
OdataType = "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry",
Id = "f341705b-0b15-4ce3-aaf2-6a1681d78606",
},
},
Settings = new DeploymentSettings
{
OdataType = "microsoft.graph.windowsUpdates.deploymentSettings",
Schedule = new ScheduleSettings
{
GradualRollout = new RateDrivenRolloutSettings
{
OdataType = "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings",
DurationBetweenOffers = TimeSpan.Parse("P7D"),
DevicesPerOffer = 100,
},
},
Monitoring = new MonitoringSettings
{
MonitoringRules = new List<MonitoringRule>
{
new MonitoringRule
{
Signal = MonitoringSignal.Rollback,
Threshold = 5,
Action = MonitoringAction.PauseDeployment,
},
},
},
},
};
// 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.Deployments.PostAsync(requestBody);
// 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.NewDeployment()
content := graphmodelswindowsupdates.NewCatalogContent()
catalogEntry := graphmodelswindowsupdates.NewFeatureUpdateCatalogEntry()
id := "f341705b-0b15-4ce3-aaf2-6a1681d78606"
catalogEntry.SetId(&id)
content.SetCatalogEntry(catalogEntry)
requestBody.SetContent(content)
settings := graphmodelswindowsupdates.NewDeploymentSettings()
schedule := graphmodelswindowsupdates.NewScheduleSettings()
gradualRollout := graphmodelswindowsupdates.NewRateDrivenRolloutSettings()
durationBetweenOffers , err := abstractions.ParseISODuration("P7D")
gradualRollout.SetDurationBetweenOffers(&durationBetweenOffers)
devicesPerOffer := int32(100)
gradualRollout.SetDevicesPerOffer(&devicesPerOffer)
schedule.SetGradualRollout(gradualRollout)
settings.SetSchedule(schedule)
monitoring := graphmodelswindowsupdates.NewMonitoringSettings()
monitoringRule := graphmodelswindowsupdates.NewMonitoringRule()
signal := graphmodels.ROLLBACK_MONITORINGSIGNAL
monitoringRule.SetSignal(&signal)
threshold := int32(5)
monitoringRule.SetThreshold(&threshold)
action := graphmodels.PAUSEDEPLOYMENT_MONITORINGACTION
monitoringRule.SetAction(&action)
monitoringRules := []graphmodelswindowsupdates.MonitoringRuleable {
monitoringRule,
}
monitoring.SetMonitoringRules(monitoringRules)
settings.SetMonitoring(monitoring)
requestBody.SetSettings(settings)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
deployments, err := graphClient.Admin().Windows().Updates().Deployments().Post(context.Background(), requestBody, nil)
// 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.Deployment deployment = new com.microsoft.graph.beta.models.windowsupdates.Deployment();
deployment.setOdataType("#microsoft.graph.windowsUpdates.deployment");
com.microsoft.graph.beta.models.windowsupdates.CatalogContent content = new com.microsoft.graph.beta.models.windowsupdates.CatalogContent();
content.setOdataType("#microsoft.graph.windowsUpdates.catalogContent");
com.microsoft.graph.beta.models.windowsupdates.FeatureUpdateCatalogEntry catalogEntry = new com.microsoft.graph.beta.models.windowsupdates.FeatureUpdateCatalogEntry();
catalogEntry.setOdataType("#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry");
catalogEntry.setId("f341705b-0b15-4ce3-aaf2-6a1681d78606");
content.setCatalogEntry(catalogEntry);
deployment.setContent(content);
com.microsoft.graph.beta.models.windowsupdates.DeploymentSettings settings = new com.microsoft.graph.beta.models.windowsupdates.DeploymentSettings();
settings.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("P7D"));
gradualRollout.setDurationBetweenOffers(durationBetweenOffers);
gradualRollout.setDevicesPerOffer(100);
schedule.setGradualRollout(gradualRollout);
settings.setSchedule(schedule);
com.microsoft.graph.beta.models.windowsupdates.MonitoringSettings monitoring = new com.microsoft.graph.beta.models.windowsupdates.MonitoringSettings();
LinkedList<com.microsoft.graph.beta.models.windowsupdates.MonitoringRule> monitoringRules = new LinkedList<com.microsoft.graph.beta.models.windowsupdates.MonitoringRule>();
com.microsoft.graph.beta.models.windowsupdates.MonitoringRule monitoringRule = new com.microsoft.graph.beta.models.windowsupdates.MonitoringRule();
monitoringRule.setSignal(com.microsoft.graph.beta.models.windowsupdates.MonitoringSignal.Rollback);
monitoringRule.setThreshold(5);
monitoringRule.setAction(com.microsoft.graph.beta.models.windowsupdates.MonitoringAction.PauseDeployment);
monitoringRules.add(monitoringRule);
monitoring.setMonitoringRules(monitoringRules);
settings.setMonitoring(monitoring);
deployment.setSettings(settings);
com.microsoft.graph.models.windowsupdates.Deployment result = graphClient.admin().windows().updates().deployments().post(deployment);
const options = {
authProvider,
};
const client = Client.init(options);
const deployment = {
'@odata.type': '#microsoft.graph.windowsUpdates.deployment',
content: {
'@odata.type': '#microsoft.graph.windowsUpdates.catalogContent',
catalogEntry: {
'@odata.type': '#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry',
id: 'f341705b-0b15-4ce3-aaf2-6a1681d78606'
}
},
settings: {
'@odata.type': 'microsoft.graph.windowsUpdates.deploymentSettings',
schedule: {
gradualRollout: {
'@odata.type': '#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings',
durationBetweenOffers: 'P7D',
devicesPerOffer: 100
}
},
monitoring: {
monitoringRules: [
{
signal: 'rollback',
threshold: 5,
action: 'pauseDeployment'
}
]
}
}
};
await client.api('/admin/windows/updates/deployments')
.version('beta')
.post(deployment);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\Deployment;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\CatalogContent;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\FeatureUpdateCatalogEntry;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\DeploymentSettings;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\ScheduleSettings;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\RateDrivenRolloutSettings;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\MonitoringSettings;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\MonitoringRule;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\MonitoringSignal;
use Microsoft\Graph\Beta\Generated\Models\WindowsUpdates\MonitoringAction;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Deployment();
$requestBody->setOdataType('#microsoft.graph.windowsUpdates.deployment');
$content = new CatalogContent();
$content->setOdataType('#microsoft.graph.windowsUpdates.catalogContent');
$contentCatalogEntry = new FeatureUpdateCatalogEntry();
$contentCatalogEntry->setOdataType('#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry');
$contentCatalogEntry->setId('f341705b-0b15-4ce3-aaf2-6a1681d78606');
$content->setCatalogEntry($contentCatalogEntry);
$requestBody->setContent($content);
$settings = new DeploymentSettings();
$settings->setOdataType('microsoft.graph.windowsUpdates.deploymentSettings');
$settingsSchedule = new ScheduleSettings();
$settingsScheduleGradualRollout = new RateDrivenRolloutSettings();
$settingsScheduleGradualRollout->setOdataType('#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings');
$settingsScheduleGradualRollout->setDurationBetweenOffers(new \DateInterval('P7D'));
$settingsScheduleGradualRollout->setDevicesPerOffer(100);
$settingsSchedule->setGradualRollout($settingsScheduleGradualRollout);
$settings->setSchedule($settingsSchedule);
$settingsMonitoring = new MonitoringSettings();
$monitoringRulesMonitoringRule1 = new MonitoringRule();
$monitoringRulesMonitoringRule1->setSignal(new MonitoringSignal('rollback'));
$monitoringRulesMonitoringRule1->setThreshold(5);
$monitoringRulesMonitoringRule1->setAction(new MonitoringAction('pauseDeployment'));
$monitoringRulesArray []= $monitoringRulesMonitoringRule1;
$settingsMonitoring->setMonitoringRules($monitoringRulesArray);
$settings->setMonitoring($settingsMonitoring);
$requestBody->setSettings($settings);
$result = $graphServiceClient->admin()->windows()->updates()->deployments()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.WindowsUpdates
$params = @{
"@odata.type" = "#microsoft.graph.windowsUpdates.deployment"
content = @{
"@odata.type" = "#microsoft.graph.windowsUpdates.catalogContent"
catalogEntry = @{
"@odata.type" = "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry"
id = "f341705b-0b15-4ce3-aaf2-6a1681d78606"
}
}
settings = @{
"@odata.type" = "microsoft.graph.windowsUpdates.deploymentSettings"
schedule = @{
gradualRollout = @{
"@odata.type" = "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings"
durationBetweenOffers = "P7D"
devicesPerOffer =
}
}
monitoring = @{
monitoringRules = @(
@{
signal = "rollback"
threshold = 5
action = "pauseDeployment"
}
)
}
}
}
New-MgBetaWindowsUpdatesDeployment -BodyParameter $params
# 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.deployment import Deployment
from msgraph_beta.generated.models.windows_updates.catalog_content import CatalogContent
from msgraph_beta.generated.models.windows_updates.feature_update_catalog_entry import FeatureUpdateCatalogEntry
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
from msgraph_beta.generated.models.windows_updates.monitoring_settings import MonitoringSettings
from msgraph_beta.generated.models.windows_updates.monitoring_rule import MonitoringRule
from msgraph_beta.generated.models.monitoring_signal import MonitoringSignal
from msgraph_beta.generated.models.monitoring_action import MonitoringAction
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Deployment(
odata_type = "#microsoft.graph.windowsUpdates.deployment",
content = CatalogContent(
odata_type = "#microsoft.graph.windowsUpdates.catalogContent",
catalog_entry = FeatureUpdateCatalogEntry(
odata_type = "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry",
id = "f341705b-0b15-4ce3-aaf2-6a1681d78606",
),
),
settings = DeploymentSettings(
odata_type = "microsoft.graph.windowsUpdates.deploymentSettings",
schedule = ScheduleSettings(
gradual_rollout = RateDrivenRolloutSettings(
odata_type = "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings",
duration_between_offers = "P7D",
devices_per_offer = 100,
),
),
monitoring = MonitoringSettings(
monitoring_rules = [
MonitoringRule(
signal = MonitoringSignal.Rollback,
threshold = 5,
action = MonitoringAction.PauseDeployment,
),
],
),
),
)
result = await graph_client.admin.windows.updates.deployments.post(request_body)
响应
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.windowsUpdates.deployment",
"id": "b5171742-1742-b517-4217-17b5421717b5",
"createdDateTime": "2023-01-26T05:08:38.118213Z",
"lastModifiedDateTime": "2023-01-26T05:08:38Z",
"state": {
"value": "offering",
"reasons": [],
"requestedValue": "none",
},
"content": {
"@odata.type": "microsoft.graph.windowsUpdates.catalogContent",
},
"settings": {
"@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings",
"schedule": {
"gradualRollout": {
"@odata.type": "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings",
"durationBetweenOffers": "P1D",
"devicesPerOffer": 1000
}
},
"monitoring": {
"monitoringRules": [
{
"@odata.type": "#microsoft.graph.windowsUpdates.monitoringRule",
"signal": "rollback",
"threshold": 5,
"action": "pauseDeployment"
}
]
},
"userExperience": null,
"safeguard": null
},
}