{"id":9785,"date":"2026-07-29T07:38:49","date_gmt":"2026-07-29T07:38:49","guid":{"rendered":"https:\/\/pariswells.com\/blog\/?p=9785"},"modified":"2026-07-29T07:38:50","modified_gmt":"2026-07-29T07:38:50","slug":"powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant","status":"publish","type":"post","link":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant","title":{"rendered":"Powershell finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code class=\"\">&lt;#\n.SYNOPSIS\n    Finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant.\n\n.DESCRIPTION\n    Connects to Microsoft Graph and reports on apps associated with a given user in two ways:\n      1. Entra ID Directory Audit Logs - \"Add application\" \/ \"Add service principal\" events\n         initiated by the user. This is the authoritative \"who added it\" record, but Entra\n         only retains these logs for a limited window (commonly ~30 days) unless exported\n         to a Log Analytics workspace \/ Sentinel.\n      2. Current Owners - cross-checks App Registrations and Enterprise Apps (Service\n         Principals) where the user is listed as an owner, since the creator is often\n         (but not always) added as an owner automatically. This works regardless of log\n         retention but is not a definitive \"added by\" record.\n\n.PARAMETER UserPrincipalName\n    UPN or email of the user to search for, e.g. kelly.hunt@alliedhealth.com.au\n\n.PARAMETER TenantId\n    Optional tenant ID or verified domain (e.g. alliedhealth.onmicrosoft.com) to target a\n    specific tenant at sign-in time, useful if you have access to multiple tenants.\n\n.PARAMETER DaysBack\n    How many days of audit log history to search. Defaults to 30 (Entra's typical retention\n    for directory audit logs without a Log Analytics export).\n\n.EXAMPLE\n    .\\Find-AppsAddedByUser.ps1 -UserPrincipalName kelly.hunt@alliedhealth.com.au -TenantId alliedhealth.onmicrosoft.com\n\n.NOTES\n    Requires the Microsoft.Graph PowerShell SDK module:\n        Install-Module Microsoft.Graph -Scope CurrentUser\n    Requires delegated permissions (consented at sign-in): AuditLog.Read.All, Application.Read.All, User.Read.All, Directory.Read.All\n    You must sign in with an account that has at least Global Reader \/ Application Administrator rights.\n#>\n\n[CmdletBinding()]\nparam(\n    [Parameter(Mandatory = $true)]\n    [string]$UserPrincipalName,\n\n    [Parameter(Mandatory = $false)]\n    [string]$TenantId,\n\n    [Parameter(Mandatory = $false)]\n    [int]$DaysBack = 30\n)\n\n$requiredScopes = @('AuditLog.Read.All', 'Application.Read.All', 'User.Read.All', 'Directory.Read.All')\n\nif (-not (Get-Module -ListAvailable -Name Microsoft.Graph.Authentication)) {\n    Write-Host \"Microsoft.Graph module not found. Installing for current user...\" -ForegroundColor Yellow\n    Install-Module Microsoft.Graph -Scope CurrentUser -Force -AllowClobber\n}\n\n$connectParams = @{ Scopes = $requiredScopes }\nif ($TenantId) { $connectParams['TenantId'] = $TenantId }\n\nWrite-Host \"Signing in to Microsoft Graph...\" -ForegroundColor Cyan\nConnect-MgGraph @connectParams | Out-Null\n\n$context = Get-MgContext\nWrite-Host \"Connected to tenant: $($context.TenantId)\" -ForegroundColor Green\n\n# Resolve the target user so we can match on both objectId and UPN in audit logs\n$targetUser = Get-MgUser -Filter \"userPrincipalName eq '$UserPrincipalName'\" -ErrorAction SilentlyContinue\nif (-not $targetUser) {\n    $targetUser = Get-MgUser -Filter \"mail eq '$UserPrincipalName'\" -ErrorAction SilentlyContinue\n}\nif (-not $targetUser) {\n    Write-Warning \"Could not resolve user '$UserPrincipalName' via Get-MgUser. Falling back to display-name text match in audit logs only.\"\n}\nelse {\n    Write-Host \"Resolved user: $($targetUser.DisplayName) ($($targetUser.Id))\" -ForegroundColor Green\n}\n\n# ---------------------------------------------------------------------------\n# 1. Directory audit log search - \"Add application\" \/ \"Add service principal\"\n# ---------------------------------------------------------------------------\nWrite-Host \"`n=== Searching audit logs for the last $DaysBack day(s) ===\" -ForegroundColor Cyan\n\n$startDate = (Get-Date).AddDays(-$DaysBack).ToString('yyyy-MM-ddTHH:mm:ssZ')\n$activities = @('Add application', 'Add service principal', 'Add application permissions to service principal')\n\n$auditFilter = \"activityDateTime ge $startDate\"\n$auditResults = Get-MgAuditLogDirectoryAudit -Filter $auditFilter -All -ErrorAction SilentlyContinue\n\n$matchedAudits = @()\nif ($auditResults) {\n    $matchedAudits = $auditResults | Where-Object {\n        $activities -contains $_.ActivityDisplayName -and (\n            ($targetUser -and $_.InitiatedBy.User.Id -eq $targetUser.Id) -or\n            ($_.InitiatedBy.User.UserPrincipalName -eq $UserPrincipalName) -or\n            ($_.InitiatedBy.User.DisplayName -match [regex]::Escape($UserPrincipalName))\n        )\n    }\n}\n\nif ($matchedAudits.Count -eq 0) {\n    Write-Host \"No matching 'Add application' \/ 'Add service principal' audit events found in the last $DaysBack days.\" -ForegroundColor Yellow\n    Write-Host \"(Entra audit log retention is short by default - widen -DaysBack won't help beyond the tenant's actual retention window.)\" -ForegroundColor Yellow\n}\nelse {\n    $auditReport = $matchedAudits | ForEach-Object {\n        [PSCustomObject]@{\n            DateTime     = $_.ActivityDateTime\n            Activity     = $_.ActivityDisplayName\n            TargetName   = ($_.TargetResources | Select-Object -First 1).DisplayName\n            TargetType   = ($_.TargetResources | Select-Object -First 1).Type\n            TargetAppId  = ($_.TargetResources | Select-Object -First 1).Id\n            InitiatedBy  = $_.InitiatedBy.User.UserPrincipalName\n        }\n    }\n    $auditReport | Sort-Object DateTime -Descending | Format-Table -AutoSize\n}\n\n# ---------------------------------------------------------------------------\n# 2. Cross-check: current owners of App Registrations and Enterprise Apps\n# ---------------------------------------------------------------------------\nWrite-Host \"`n=== Cross-checking current App Registration \/ Enterprise App owners ===\" -ForegroundColor Cyan\n\n$ownedApps = @()\n$ownedSPs  = @()\n\nif ($targetUser) {\n    $ownedObjects = Get-MgUserOwnedObject -UserId $targetUser.Id -All -ErrorAction SilentlyContinue\n    $ownedApps = $ownedObjects | Where-Object { $_.AdditionalProperties['@odata.type'] -eq '#microsoft.graph.application' }\n    $ownedSPs  = $ownedObjects | Where-Object { $_.AdditionalProperties['@odata.type'] -eq '#microsoft.graph.servicePrincipal' }\n}\n\nif ($ownedApps.Count -eq 0 -and $ownedSPs.Count -eq 0) {\n    Write-Host \"No App Registrations or Enterprise Apps found where this user is a current owner.\" -ForegroundColor Yellow\n}\nelse {\n    if ($ownedApps.Count -gt 0) {\n        Write-Host \"`nApp Registrations owned by $($targetUser.DisplayName):\" -ForegroundColor Green\n        $ownedApps | ForEach-Object {\n            [PSCustomObject]@{\n                DisplayName = $_.AdditionalProperties['displayName']\n                AppId       = $_.AdditionalProperties['appId']\n                Id          = $_.Id\n            }\n        } | Format-Table -AutoSize\n    }\n    if ($ownedSPs.Count -gt 0) {\n        Write-Host \"`nEnterprise Apps (Service Principals) owned by $($targetUser.DisplayName):\" -ForegroundColor Green\n        $ownedSPs | ForEach-Object {\n            [PSCustomObject]@{\n                DisplayName = $_.AdditionalProperties['displayName']\n                AppId       = $_.AdditionalProperties['appId']\n                Id          = $_.Id\n            }\n        } | Format-Table -AutoSize\n    }\n}\n\n\n# ---------------------------------------------------------------------------\n# 3. Apps where the user is an assigned user (Enterprise Apps > Users and groups)\n# ---------------------------------------------------------------------------\nWrite-Host \"`n=== Apps where $UserPrincipalName is an assigned user ===\" -ForegroundColor Cyan\n\nif ($targetUser) {\n    $assignments = Get-MgUserAppRoleAssignment -UserId $targetUser.Id -All -ErrorAction SilentlyContinue\n    if (-not $assignments -or $assignments.Count -eq 0) {\n        Write-Host \"No direct app role assignments found for this user.\" -ForegroundColor Yellow\n    }\n    else {\n        $assignments | ForEach-Object {\n            [PSCustomObject]@{\n                AppName       = $_.ResourceDisplayName\n                ResourceId    = $_.ResourceId\n                AppRoleId     = $_.AppRoleId\n                AssignedOn    = $_.CreatedDateTime\n                PrincipalType = $_.PrincipalType\n            }\n        } | Sort-Object AppName | Format-Table -AutoSize\n    }\n}\nelse {\n    Write-Warning \"Skipping assigned-apps check - user could not be resolved.\"\n}\n\nWrite-Host \"`nDone. Disconnecting from Microsoft Graph.\" -ForegroundColor Cyan\nDisconnect-MgGraph | Out-Null\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9785","post","type-post","status-publish","format-standard","hentry","category-research"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"paris\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Welcome to Pariswells.com |\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Powershell finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant | Welcome to Pariswells.com\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-07-29T07:38:49+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-07-29T07:38:50+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Powershell finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant | Welcome to Pariswells.com\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#article\",\"name\":\"Powershell finds Enterprise Applications \\\/ App Registrations added by a specific user in an Entra ID tenant | Welcome to Pariswells.com\",\"headline\":\"Powershell finds Enterprise Applications \\\/ App Registrations added by a specific user in an Entra ID tenant\",\"author\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/author\\\/paris#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/#organization\"},\"datePublished\":\"2026-07-29T07:38:49+00:00\",\"dateModified\":\"2026-07-29T07:38:50+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#webpage\"},\"articleSection\":\"Research\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/pariswells.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/category\\\/research#listItem\",\"name\":\"Research\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/category\\\/research#listItem\",\"position\":2,\"name\":\"Research\",\"item\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/category\\\/research\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#listItem\",\"name\":\"Powershell finds Enterprise Applications \\\/ App Registrations added by a specific user in an Entra ID tenant\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#listItem\",\"position\":3,\"name\":\"Powershell finds Enterprise Applications \\\/ App Registrations added by a specific user in an Entra ID tenant\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/category\\\/research#listItem\",\"name\":\"Research\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/#organization\",\"name\":\"Welcome to Pariswells.com\",\"url\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/author\\\/paris#author\",\"url\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/author\\\/paris\",\"name\":\"paris\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/93b8ee3f592ac401167f870452bd82d43de80152cd3524e2853403658ada9984?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"paris\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#webpage\",\"url\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant\",\"name\":\"Powershell finds Enterprise Applications \\\/ App Registrations added by a specific user in an Entra ID tenant | Welcome to Pariswells.com\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/research\\\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/author\\\/paris#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/author\\\/paris#author\"},\"datePublished\":\"2026-07-29T07:38:49+00:00\",\"dateModified\":\"2026-07-29T07:38:50+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/\",\"name\":\"Welcome to Pariswells.com\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/pariswells.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Powershell finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant | Welcome to Pariswells.com","description":"","canonical_url":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#article","name":"Powershell finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant | Welcome to Pariswells.com","headline":"Powershell finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant","author":{"@id":"https:\/\/pariswells.com\/blog\/author\/paris#author"},"publisher":{"@id":"https:\/\/pariswells.com\/blog\/#organization"},"datePublished":"2026-07-29T07:38:49+00:00","dateModified":"2026-07-29T07:38:50+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#webpage"},"isPartOf":{"@id":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#webpage"},"articleSection":"Research"},{"@type":"BreadcrumbList","@id":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/pariswells.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog\/category\/research#listItem","name":"Research"}},{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog\/category\/research#listItem","position":2,"name":"Research","item":"https:\/\/pariswells.com\/blog\/category\/research","nextItem":{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#listItem","name":"Powershell finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant"},"previousItem":{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#listItem","position":3,"name":"Powershell finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant","previousItem":{"@type":"ListItem","@id":"https:\/\/pariswells.com\/blog\/category\/research#listItem","name":"Research"}}]},{"@type":"Organization","@id":"https:\/\/pariswells.com\/blog\/#organization","name":"Welcome to Pariswells.com","url":"https:\/\/pariswells.com\/blog\/"},{"@type":"Person","@id":"https:\/\/pariswells.com\/blog\/author\/paris#author","url":"https:\/\/pariswells.com\/blog\/author\/paris","name":"paris","image":{"@type":"ImageObject","@id":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/93b8ee3f592ac401167f870452bd82d43de80152cd3524e2853403658ada9984?s=96&d=mm&r=g","width":96,"height":96,"caption":"paris"}},{"@type":"WebPage","@id":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#webpage","url":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant","name":"Powershell finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant | Welcome to Pariswells.com","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/pariswells.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant#breadcrumblist"},"author":{"@id":"https:\/\/pariswells.com\/blog\/author\/paris#author"},"creator":{"@id":"https:\/\/pariswells.com\/blog\/author\/paris#author"},"datePublished":"2026-07-29T07:38:49+00:00","dateModified":"2026-07-29T07:38:50+00:00"},{"@type":"WebSite","@id":"https:\/\/pariswells.com\/blog\/#website","url":"https:\/\/pariswells.com\/blog\/","name":"Welcome to Pariswells.com","inLanguage":"en-US","publisher":{"@id":"https:\/\/pariswells.com\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"Welcome to Pariswells.com |","og:type":"article","og:title":"Powershell finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant | Welcome to Pariswells.com","og:url":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant","article:published_time":"2026-07-29T07:38:49+00:00","article:modified_time":"2026-07-29T07:38:50+00:00","twitter:card":"summary","twitter:title":"Powershell finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant | Welcome to Pariswells.com"},"aioseo_meta_data":{"post_id":"9785","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-07-29 07:35:30","updated":"2026-07-29 07:38:50","primary_term":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/pariswells.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/pariswells.com\/blog\/category\/research\" title=\"Research\">Research<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPowershell finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/pariswells.com\/blog"},{"label":"Research","link":"https:\/\/pariswells.com\/blog\/category\/research"},{"label":"Powershell finds Enterprise Applications \/ App Registrations added by a specific user in an Entra ID tenant","link":"https:\/\/pariswells.com\/blog\/research\/powershell-finds-enterprise-applications-app-registrations-added-by-a-specific-user-in-an-entra-id-tenant"}],"_links":{"self":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/9785","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/comments?post=9785"}],"version-history":[{"count":1,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/9785\/revisions"}],"predecessor-version":[{"id":9786,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/9785\/revisions\/9786"}],"wp:attachment":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/media?parent=9785"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/categories?post=9785"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/tags?post=9785"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}