managedDevice:bulkRestoreCloudPc
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
使用单个请求还原多个云电脑设备,其中包括 Intune 托管设备的 ID 和还原点日期和时间。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
CloudPC.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
CloudPC.ReadWrite.All |
HTTP 请求
POST /deviceManagement/managedDevices/bulkRestoreCloudPc
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
| Content-Type |
application/json. Required. |
请求正文
在请求正文中,提供参数的 JSON 表示形式。
下表显示了可用于此操作的参数。
| 参数 |
类型 |
说明 |
| managedDeviceIds |
String 集合 |
云电脑设备的 ID。 |
| restorePointDateTime |
DateTimeOffset |
所选云电脑设备还原到以前状态 UTC 时间点。 时间戳类型表示采用 ISO 8601 格式的日期和时间信息,始终采用 UTC 时区。 例如,2014 年 1 月 1 日午夜 UTC 为"2014-01-01T00:00:00Z"。 |
| timeRange |
restoreTimeRange |
还原点的时区。 可能的值是:before、after、beforeOrAfter、unknownFutureValue。 |
restoreTimeRange 值
| 成员 |
说明 |
| before |
选择所选时间点之前最近的快照。 |
| after |
选择所选时间点后最近的快照。 |
| beforeOrAfter |
选择与所选时间点最接近的快照。 |
| unknownFutureValue |
可发展枚举 sentinel 值。 请勿使用。 |
响应
如果成功,此操作在响应 200 OK 正文中返回 响应代码和 cloudPcBulkRemoteActionResult 。
示例
请求
请求示例如下所示。
POST https://graph.microsoft.com/beta/deviceManagement/managedDevices/bulkRestoreCloudPc
Content-Type: application/json
Content-length: 123
{
"managedDeviceIds": [
"30d0e128-de93-41dc-89ec-33d84bb662a0",
"7c82a3e3-9459-44e4-94d9-b92f93bf78dd"
],
"restorePointDateTime": "2021-09-23T04:00:00.0000000",
"timeRange": "before"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var managedDeviceIds = new List<String>()
{
"30d0e128-de93-41dc-89ec-33d84bb662a0",
"7c82a3e3-9459-44e4-94d9-b92f93bf78dd"
};
var restorePointDateTime = DateTimeOffset.Parse("2021-09-23T04:00:00");
var timeRange = RestoreTimeRange.Before;
await graphClient.DeviceManagement.ManagedDevices
.BulkRestoreCloudPc(managedDeviceIds,restorePointDateTime,timeRange)
.Request()
.PostAsync();
const options = {
authProvider,
};
const client = Client.init(options);
const cloudPcBulkRemoteActionResult = {
managedDeviceIds: [
'30d0e128-de93-41dc-89ec-33d84bb662a0',
'7c82a3e3-9459-44e4-94d9-b92f93bf78dd'
],
restorePointDateTime: '2021-09-23T04:00:00.0000000',
timeRange: 'before'
};
await client.api('/deviceManagement/managedDevices/bulkRestoreCloudPc')
.version('beta')
.post(cloudPcBulkRemoteActionResult);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/deviceManagement/managedDevices/bulkRestoreCloudPc"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
NSMutableArray *managedDeviceIdsList = [[NSMutableArray alloc] init];
[managedDeviceIdsList addObject: @"30d0e128-de93-41dc-89ec-33d84bb662a0"];
[managedDeviceIdsList addObject: @"7c82a3e3-9459-44e4-94d9-b92f93bf78dd"];
payloadDictionary[@"managedDeviceIds"] = managedDeviceIdsList;
NSString *restorePointDateTimeDateTimeString = @"09/23/2021 04:00:00";
NSDate *restorePointDateTime = [NSDate ms_dateFromString: restorePointDateTimeDateTimeString];
payloadDictionary[@"restorePointDateTime"] = restorePointDateTime;
MSGraphRestoreTimeRange *timeRange = [MSGraphRestoreTimeRange before];
payloadDictionary[@"timeRange"] = timeRange;
NSData *data = [NSJSONSerialization dataWithJSONObject:payloadDictionary options:kNilOptions error:&error];
[urlRequest setHTTPBody:data];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
LinkedList<String> managedDeviceIdsList = new LinkedList<String>();
managedDeviceIdsList.add("30d0e128-de93-41dc-89ec-33d84bb662a0");
managedDeviceIdsList.add("7c82a3e3-9459-44e4-94d9-b92f93bf78dd");
OffsetDateTime restorePointDateTime = OffsetDateTimeSerializer.deserialize("09/23/2021 04:00:00");
RestoreTimeRange timeRange = RestoreTimeRange.BEFORE;
graphClient.deviceManagement().managedDevices()
.bulkRestoreCloudPc(ManagedDeviceBulkRestoreCloudPcParameterSet
.newBuilder()
.withManagedDeviceIds(managedDeviceIdsList)
.withRestorePointDateTime(restorePointDateTime)
.withTimeRange(timeRange)
.build())
.buildRequest()
.post();
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
requestBody.SetManagedDeviceIds( []String {
"30d0e128-de93-41dc-89ec-33d84bb662a0",
"7c82a3e3-9459-44e4-94d9-b92f93bf78dd",
}
restorePointDateTime, err := time.Parse(time.RFC3339, "2021-09-23T04:00:00.0000000")
requestBody.SetRestorePointDateTime(&restorePointDateTime)
timeRange := "before"
requestBody.SetTimeRange(&timeRange)
result, err := graphClient.DeviceManagement().ManagedDevices().BulkRestoreCloudPc().Post(requestBody)
Import-Module Microsoft.Graph.DeviceManagement.Actions
$params = @{
ManagedDeviceIds = @(
"30d0e128-de93-41dc-89ec-33d84bb662a0"
"7c82a3e3-9459-44e4-94d9-b92f93bf78dd"
)
RestorePointDateTime = [System.DateTime]::Parse("2021-09-23T04:00:00.0000000")
TimeRange = "before"
}
Invoke-MgBulkRestoreDeviceManagementManagedDeviceCloudPc -BodyParameter $params
响应
下面展示了示例响应。
HTTP/1.1 200 OK
Content-Type: application/json
{
"value": {
"@odata.type": "microsoft.graph.cloudPcBulkRemoteActionResult",
"successfulDeviceIds": [
"30d0e128-de93-41dc-89ec-33d84bb662a0"
],
"failedDeviceIds": [
"7c82a3e3-9459-44e4-94d9-b92f93bf78dd"
],
"notFoundDeviceIds": [
],
"notSupportedDeviceIds": [
]
}
}