Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To limit who can use Microsoft Graph PowerShell and which permissions they can consent to, register a custom app in your Microsoft Entra directory, configure its authentication redirects, require assignment, and connect with that app’s client ID. Use delegated access for interactive work when it meets the need; reserve app-only access for unattended jobs that need an app identity, and grant only the permissions each task requires.

Choose the access model before creating an app

Microsoft Graph PowerShell supports delegated and app-only authentication. Both begin with Connect-MgGraph, but they represent different identities and permission boundaries.

Model Identity and access boundary Typical fit Consent and credential considerations
Delegated Acts on behalf of a signed-in user; access is bounded by the granted scopes and the user’s own access. Interactive administration where a user signs in. Use a custom app registration to isolate and limit consent permissions. You can require assignment to control which users or groups may use the enterprise application.
App-only Acts as the application without a signed-in user and can access data represented by its granted application permissions. Unattended scripts and services. Application permissions are highly privileged and require administrator consent. Microsoft’s PowerShell guidance describes certificate-based credentials.

Microsoft recommends delegated permissions whenever they satisfy the workload. A separate app registration is a way to scope consent and access; it does not make a broad permission least-privileged by itself. See Microsoft’s Graph permissions overview (last updated December 26, 2025) for permission concepts.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Set up a custom app for delegated Graph PowerShell

Microsoft documents custom delegated applications as an approach to isolating and limiting consent permissions for Graph PowerShell. The app registration belongs in your organization’s Entra directory. Follow the current Microsoft Graph PowerShell authentication guide for the portal labels and redirect URI details; it specifies a http://localhost public-client redirect URI and an additional Windows Authentication Manager broker redirect URI.

#1 Best Overall
Sale
PowerShell for Sysadmins: Workflow Automation Made Easy
  • Book - powershell for sysadmins: workflow automation made easy
  • Language: english
  • Binding: paperback
  1. Register the app. In the Microsoft Entra admin center, create an app registration in the organization’s directory. Configure the public-client redirect URI and broker redirect URI as instructed in Microsoft’s current authentication guide.
  2. Gate access by assignment. Open the corresponding enterprise application, set Assignment required? to Yes, and assign only the permitted users or groups. This is the documented launch-access gate; keep the assignment list aligned with who should use the app.
  3. Connect with the app and tenant IDs. In PowerShell, use the custom app’s client ID and your tenant ID:
Connect-MgGraph -ClientId <YOUR_NEW_APP_ID> -TenantId <YOUR_TENANT_ID>

This is the command shape in Microsoft’s custom delegated app instructions. It does not grant every Graph permission: make sure the scopes needed for the operation are configured and consented under your tenant’s policy. The authenticated user’s own access remains an additional boundary.

Use app-only access for unattended scripts

For a job that must run without an interactive user, Microsoft’s app-only authentication guide describes registering an application, configuring the permission scopes required by the scenario, uploading the certificate’s public key, and connecting with the application ID and tenant ID. App-only permissions belong to the application, not to a signed-in operator, and require administrator consent.

Connect-MgGraph -ClientID <APP_ID> -TenantId <TENANT_ID> -CertificateThumbprint <CERT_THUMBPRINT>

That certificate-thumbprint form is documented by Microsoft. The authentication reference also documents -CertificateName and certificate-object forms. Because cmdlet parameters and module behavior can change, check the current Connect-MgGraph reference and the installed module version before putting a command into production.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose permissions by task, not by app name

Graph permission names commonly describe the resource, operation, and constraint. For example, Microsoft identifies Application.ReadWrite.OwnedBy as a permission limited to applications the app creates or owns. That narrower scope is meaningful because of its stated constraint—not simply because it belongs to a separate registration.

Be especially careful if a workflow manages permission grants. Microsoft’s grant and revoke permissions guidance warns that DelegatedPermissionGrant.ReadWrite.All and AppRoleAssignment.ReadWrite.All can manage grants and elevate privileges across apps, users, or groups in an organization. Do not put these grant-management permissions in an everyday operator app unless its duties genuinely require them.

  • For interactive work, prefer delegated scopes when they are sufficient, and consider a custom app when you need to isolate consent for Graph PowerShell.
  • For unattended work, select only the application permissions the job requires and protect its certificate credential.
  • Keep app registration, enterprise-app assignment, permission grants, and the user or workload’s actual task aligned; none of these controls substitutes for least privilege in the others.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Validate the configuration in your tenant

Microsoft’s documentation describes the configuration and command forms; it does not establish that a particular tenant has implemented them correctly. After setup, verify that the enterprise application requires assignment and that only intended users or groups are assigned. Confirm the app’s granted permissions and consent against the job’s needs, then test authentication and the intended Graph operation with an appropriately scoped account or workload.

Portal navigation, tenant consent policy, and authentication cmdlets may change. Use the current Microsoft Learn guidance and the documentation for the Graph PowerShell version installed in your environment when implementing or troubleshooting.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.