microsoftgraph / microsoftgraph/msgraph-sdk-powershell
Get-MgUserDefaultDrive pre-provision does not work
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 898
- Forks
- 230
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 31
Description
Describe the bug
I want to pre-provision users OneDrive using the following method:
https://learn.microsoft.com/en-us/graph/api/drive-get?view=graph-rest-1.0&tabs=powershell
According to the documentation this should work:
If a user's OneDrive isn't provisioned but the user has a license to use OneDrive, this request will automatically provision the user's drive, when using delegated authentication
It does however not, and the reason why is unclear.
I got a user with an Microsoft E3 license assigned and im using the permissions described in the documentation.
Expected behavior
OneDrive site get created
How to reproduce
$Scopes = @(
'Files.Read'
'Sites.ReadWrite.All'
'Sites.Read.All'
'Files.Read.All'
'Files.ReadWrite.All'
)
Import-Module Microsoft.Graph.Files -RequiredVersion 2.23.0
Connect-Graph -Scopes $Scopes
Get-MgUserDefaultDrive -UserId "user1@"
SDK Version
2.23.0
Latest version known to work for scenario above?
No response
Known Workarounds
Using PnP.PowerShell
Request-SPOPersonalSite -UserEmails <upn>
Debug output
Click to expand log
```DEBUG: [CmdletBeginProcessing]: - Get-MgUserDefaultDrive begin processing with parameterSet 'Get'.
DEBUG: [Authentication]: - AuthType: 'Delegated', TokenCredentialType: 'InteractiveBrowser', ContextScope: 'CurrentUser', AppName: 'Microsoft Graph Command Line Tools'.
DEBUG: [Authentication]: - Scopes: [Agreement.ReadWrite.All, Application.Read.All, CloudPC.ReadWrite.All, DeviceManagementApps.ReadWrite.All, DeviceManagementConfiguration.ReadWrite.All, DeviceManagementManagedDevices.ReadWrite.All, DeviceManagementRBAC.ReadWrite.All, DeviceManagementServiceConfig.ReadWrite.All, Directory.ReadWrite.All, email, Files.Read, Files.Read.All, Files.ReadWrite.All, Group.Read.All, Group.ReadWrite.All, openid, Organization.ReadWrite.All, Policy.Read.All, Policy.ReadWrite.ConditionalAccess, PrivilegedAccess.ReadWrite.AzureADGroup, profile, RoleManagement.ReadWrite.Directory, RoleManagementPolicy.ReadWrite.AzureADGroup, Sites.Read.All, Sites.ReadWrite.All, User.Read, User.Read.All, User.ReadWrite.All].
DEBUG: ============================ HTTP REQUEST ============================
HTTP Method:
GET
Absolute Uri:
https://graph.microsoft.com/v1.0/users//drive
Headers:
FeatureFlag : 00000043
Cache-Control : no-store, no-cache
User-Agent : Mozilla/5.0,(Windows NT 10.0; Microsoft Windows 10.0.22631; sv-SE),PowerShell/2024.2.2
Accept-Encoding : gzip
SdkVersion : graph-powershell/2.23.0
client-request-id : d7f8cbb4-05d9-4c4f-aa22-d2bd810d8e67
Body:
DEBUG: ============================ HTTP RESPONSE ============================
Status Code:
Forbidden
Headers:
Cache-Control : no-store, no-cache
Vary : Accept-Encoding
Strict-Transport-Security : max-age=31536000
request-id : 0a34bc4e-2aad-401f-aec7-7f3434c9154a
client-request-id : d7f8cbb4-05d9-4c4f-aa22-d2bd810d8e67
x-ms-ags-diagnostic : {"ServerInfo":{"DataCenter":"Norway East","Slice":"E","Ring":"2","ScaleUnit":"001","RoleInstance":"OSL2EPF00000164"}}
Date : Mon, 30 Sep 2024 08:16:07 GMT
Body:
{
"error": {
"code": "accessDenied",
"message": "Access denied",
"innerError": {
"date": "2024-09-30T08:16:08",
"request-id": "0a34bc4e-2aad-401f-aec7-7f3434c9154a",
"client-request-id": "d7f8cbb4-05d9-4c4f-aa22-d2bd810d8e67"
}
}
}
Get-MgUserDefaultDrive_Get: Access denied
Status: 403 (Forbidden)
ErrorCode: accessDenied
Date: 2024-09-30T08:16:08
Headers:
Cache-Control : no-store, no-cache
Vary : Accept-Encoding
Strict-Transport-Security : max-age=31536000
request-id : 0a34bc4e-2aad-401f-aec7-7f3434c9154a
client-request-id : d7f8cbb4-05d9-4c4f-aa22-d2bd810d8e67
x-ms-ags-diagnostic : {"ServerInfo":{"DataCenter":"Norway East","Slice":"E","Ring":"2","ScaleUnit":"001","RoleInstance":"OSL2EPF00000164"}}
Date : Mon, 30 Sep 2024 08:16:07 GMT
DEBUG: [CmdletEndProcessing]: - Get-MgUserDefaultDrive end processing.
</details>
### Configuration
PSVersion 7.4.5
PSEdition Core
GitCommitId 7.4.5
OS Microsoft Windows 10.0.22631
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
### Other information
_No response_
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Get-MgUserDefaultDrive cmdlet in Microsoft.Graph.Files 2.23.0 and its GET /users/{id}/drive request, then review the documented delegated permissions against the captured 403 response. Check the issue discussion for an established diagnosis; done means identifying whether the SDK request or Graph service behavior prevents pre-provisioning and documenting a verified resolution or limitation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- powershell
- Domain
- api, authentication
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100