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.
Reprovision a specific Cloud PC.
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
To reprovision the cloudPC of the specified user (who is the signed-in user) in the organization using delegated permission:
POST /me/cloudPCs/{id}/reprovision
POST /users/{userId}/cloudPCs/{id}/reprovision
To reprovision the specified cloudPC in the organization, using either delegated permission (the signed-in user should be the administrator) or application permission:
POST /deviceManagement/virtualEndpoint/cloudPCs/{id}/reprovision
Request body
Note: Only the APIs for admin support 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 |
osVersion |
cloudPcOperatingSystem |
The version of the operating system (OS) to provision on Cloud PCs. Possible values are: windows10 , windows11 , and unknownFutureValue . |
userAccountType |
cloudPcUserAccountType |
The account type of the user on provisioned Cloud PCs. Possible values are: standardUser , administrator , and unknownFutureValue . |
Response
If successful, this method returns a 204 No Content
response code.
Examples
Example 1: Reprovision the cloudPC for the administrator
Request
POST https://graph.microsoft.com/beta/deviceManagement/virtualEndpoint/cloudPCs/4b5ad5e0-6a0b-4ffc-818d-36bb23cf4dbd/reprovision
Content-Type: application/json
Content-length: 61
{
"userAccountType": "administrator",
"osVersion": "windows10"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.DeviceManagement.VirtualEndpoint.CloudPCs.Item.Reprovision;
using Microsoft.Graph.Beta.Models;
var requestBody = new ReprovisionPostRequestBody
{
UserAccountType = CloudPcUserAccountType.Administrator,
OsVersion = CloudPcOperatingSystem.Windows10,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.DeviceManagement.VirtualEndpoint.CloudPCs["{cloudPC-id}"].Reprovision.PostAsync(requestBody);
mgc-beta device-management virtual-endpoint cloud-pcs reprovision post --cloud-pcid {cloudPC-id} --body '{\
"userAccountType": "administrator",\
"osVersion": "windows10"\
}\
'
// 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"
graphdevicemanagement "github.com/microsoftgraph/msgraph-beta-sdk-go/devicemanagement"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphdevicemanagement.NewReprovisionPostRequestBody()
userAccountType := graphmodels.ADMINISTRATOR_CLOUDPCUSERACCOUNTTYPE
requestBody.SetUserAccountType(&userAccountType)
osVersion := graphmodels.WINDOWS10_CLOUDPCOPERATINGSYSTEM
requestBody.SetOsVersion(&osVersion)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.DeviceManagement().VirtualEndpoint().CloudPCs().ByCloudPCId("cloudPC-id").Reprovision().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.virtualendpoint.cloudpcs.item.reprovision.ReprovisionPostRequestBody reprovisionPostRequestBody = new com.microsoft.graph.beta.devicemanagement.virtualendpoint.cloudpcs.item.reprovision.ReprovisionPostRequestBody();
reprovisionPostRequestBody.setUserAccountType(CloudPcUserAccountType.Administrator);
reprovisionPostRequestBody.setOsVersion(CloudPcOperatingSystem.Windows10);
graphClient.deviceManagement().virtualEndpoint().cloudPCs().byCloudPCId("{cloudPC-id}").reprovision().post(reprovisionPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const reprovision = {
userAccountType: 'administrator',
osVersion: 'windows10'
};
await client.api('/deviceManagement/virtualEndpoint/cloudPCs/4b5ad5e0-6a0b-4ffc-818d-36bb23cf4dbd/reprovision')
.version('beta')
.post(reprovision);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\DeviceManagement\VirtualEndpoint\CloudPCs\Item\Reprovision\ReprovisionPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\CloudPcUserAccountType;
use Microsoft\Graph\Beta\Generated\Models\CloudPcOperatingSystem;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ReprovisionPostRequestBody();
$requestBody->setUserAccountType(new CloudPcUserAccountType('administrator'));
$requestBody->setOsVersion(new CloudPcOperatingSystem('windows10'));
$graphServiceClient->deviceManagement()->virtualEndpoint()->cloudPCs()->byCloudPCId('cloudPC-id')->reprovision()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.devicemanagement.virtualendpoint.cloudpcs.item.reprovision.reprovision_post_request_body import ReprovisionPostRequestBody
from msgraph_beta.generated.models.cloud_pc_user_account_type import CloudPcUserAccountType
from msgraph_beta.generated.models.cloud_pc_operating_system import CloudPcOperatingSystem
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ReprovisionPostRequestBody(
user_account_type = CloudPcUserAccountType.Administrator,
os_version = CloudPcOperatingSystem.Windows10,
)
await graph_client.device_management.virtual_endpoint.cloud_p_cs.by_cloud_p_c_id('cloudPC-id').reprovision.post(request_body)
Response
HTTP/1.1 204 No Content
Example 2: Reprovision the cloudPC for the signed-in user
Request
POST https://graph.microsoft.com/beta/me/cloudPCs/36bd4942-0ca8-11ed-861d-0242ac120002/reprovision
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Me.CloudPCs["{cloudPC-id}"].Reprovision.PostAsync(null);
mgc-beta users cloud-pcs reprovision post --user-id {user-id} --cloud-pcid {cloudPC-id}
// 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"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Me().CloudPCs().ByCloudPCId("cloudPC-id").Reprovision().Post(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
graphClient.me().cloudPCs().byCloudPCId("{cloudPC-id}").reprovision().post(null);
const options = {
authProvider,
};
const client = Client.init(options);
await client.api('/me/cloudPCs/36bd4942-0ca8-11ed-861d-0242ac120002/reprovision')
.version('beta')
.post();
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$graphServiceClient->me()->cloudPCs()->byCloudPCId('cloudPC-id')->reprovision()->post()->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
await graph_client.me.cloud_p_cs.by_cloud_p_c_id('cloudPC-id').reprovision.post(None)
Response
HTTP/1.1 204 No Content