Namespace: microsoft.graph
Important
APIs under the /beta
version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.
Caution
This API is deprecated and will stop returning data on February 28, 2025. Going forward, use the cloudPcBulkRestore resource and its supported APIs.
Restore multiple Cloud PC devices with a single request that includes the IDs of Intune managed devices and a restore point date and time.
This API is available in the following national cloud deployments.
Global service |
US Government L4 |
US Government L5 (DOD) |
China operated by 21Vianet |
✅ |
✅ |
✅ |
❌ |
Permissions
Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.
Permission type |
Least privileged permissions |
Higher privileged permissions |
Delegated (work or school account) |
CloudPC.ReadWrite.All |
Not available. |
Delegated (personal Microsoft account) |
Not supported. |
Not supported. |
Application |
CloudPC.ReadWrite.All |
Not available. |
HTTP request
POST /deviceManagement/managedDevices/bulkRestoreCloudPc
Request body
In the request body, supply a JSON representation of the parameters.
The following table shows the parameters that can be used with this action.
Parameter |
Type |
Description |
managedDeviceIds |
String collection |
The IDs of the Cloud PC devices. |
restorePointDateTime |
DateTimeOffset |
The UTC time point for the selected Cloud PC devices to restore to a previous state. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is '2014-01-01T00:00:00Z'. |
timeRange |
restoreTimeRange |
The time range of the restore point. Possible values are: before , after , beforeOrAfter , unknownFutureValue . |
restoreTimeRange values
Member |
Description |
before |
Choose the closest snapshot before the selected time point. |
after |
Choose the closest snapshot after the selected time point. |
beforeOrAfter |
Choose the closest snapshot around the selected time point. |
unknownFutureValue |
Evolvable enumeration sentinel value. Do not use. |
Response
If successful, this action returns a 200 OK
response code and a cloudPcBulkRemoteActionResult in the response body.
Examples
Request
The following example shows a request.
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"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.DeviceManagement.ManagedDevices.BulkRestoreCloudPc;
using Microsoft.Graph.Beta.Models;
var requestBody = new BulkRestoreCloudPcPostRequestBody
{
ManagedDeviceIds = new List<string>
{
"30d0e128-de93-41dc-89ec-33d84bb662a0",
"7c82a3e3-9459-44e4-94d9-b92f93bf78dd",
},
RestorePointDateTime = DateTimeOffset.Parse("2021-09-23T04:00:00.0000000"),
TimeRange = RestoreTimeRange.Before,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.DeviceManagement.ManagedDevices.BulkRestoreCloudPc.PostAsync(requestBody);
mgc-beta device-management managed-devices bulk-restore-cloud-pc post --body '{\
"managedDeviceIds": [\
"30d0e128-de93-41dc-89ec-33d84bb662a0",\
"7c82a3e3-9459-44e4-94d9-b92f93bf78dd"\
],\
"restorePointDateTime": "2021-09-23T04:00:00.0000000",\
"timeRange": "before"\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
"time"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphdevicemanagement "github.com/microsoftgraph/msgraph-beta-sdk-go/devicemanagement"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphdevicemanagement.NewBulkRestoreCloudPcPostRequestBody()
managedDeviceIds := []string {
"30d0e128-de93-41dc-89ec-33d84bb662a0",
"7c82a3e3-9459-44e4-94d9-b92f93bf78dd",
}
requestBody.SetManagedDeviceIds(managedDeviceIds)
restorePointDateTime , err := time.Parse(time.RFC3339, "2021-09-23T04:00:00.0000000")
requestBody.SetRestorePointDateTime(&restorePointDateTime)
timeRange := graphmodels.BEFORE_RESTORETIMERANGE
requestBody.SetTimeRange(&timeRange)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
bulkRestoreCloudPc, err := graphClient.DeviceManagement().ManagedDevices().BulkRestoreCloudPc().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.devicemanagement.manageddevices.bulkrestorecloudpc.BulkRestoreCloudPcPostRequestBody bulkRestoreCloudPcPostRequestBody = new com.microsoft.graph.beta.devicemanagement.manageddevices.bulkrestorecloudpc.BulkRestoreCloudPcPostRequestBody();
LinkedList<String> managedDeviceIds = new LinkedList<String>();
managedDeviceIds.add("30d0e128-de93-41dc-89ec-33d84bb662a0");
managedDeviceIds.add("7c82a3e3-9459-44e4-94d9-b92f93bf78dd");
bulkRestoreCloudPcPostRequestBody.setManagedDeviceIds(managedDeviceIds);
OffsetDateTime restorePointDateTime = OffsetDateTime.parse("2021-09-23T04:00:00.0000000");
bulkRestoreCloudPcPostRequestBody.setRestorePointDateTime(restorePointDateTime);
bulkRestoreCloudPcPostRequestBody.setTimeRange(RestoreTimeRange.Before);
var result = graphClient.deviceManagement().managedDevices().bulkRestoreCloudPc().post(bulkRestoreCloudPcPostRequestBody);
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);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\DeviceManagement\ManagedDevices\BulkRestoreCloudPc\BulkRestoreCloudPcPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\RestoreTimeRange;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new BulkRestoreCloudPcPostRequestBody();
$requestBody->setManagedDeviceIds(['30d0e128-de93-41dc-89ec-33d84bb662a0', '7c82a3e3-9459-44e4-94d9-b92f93bf78dd', ]);
$requestBody->setRestorePointDateTime(new \DateTime('2021-09-23T04:00:00.0000000'));
$requestBody->setTimeRange(new RestoreTimeRange('before'));
$result = $graphServiceClient->deviceManagement()->managedDevices()->bulkRestoreCloudPc()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.DeviceManagement
$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-MgBetaBulkDeviceManagementManagedDeviceRestoreCloudPc -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.devicemanagement.manageddevices.bulk_restore_cloud_pc.bulk_restore_cloud_pc_post_request_body import BulkRestoreCloudPcPostRequestBody
from msgraph_beta.generated.models.restore_time_range import RestoreTimeRange
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = BulkRestoreCloudPcPostRequestBody(
managed_device_ids = [
"30d0e128-de93-41dc-89ec-33d84bb662a0",
"7c82a3e3-9459-44e4-94d9-b92f93bf78dd",
],
restore_point_date_time = "2021-09-23T04:00:00.0000000",
time_range = RestoreTimeRange.Before,
)
result = await graph_client.device_management.managed_devices.bulk_restore_cloud_pc.post(request_body)
Response
The following example shows the response.
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": [
]
}
}