Skip to content

Commit 314ef1e

Browse files
authored
Automate mapping files creation (#1508)
1 parent 2548018 commit 314ef1e

3 files changed

Lines changed: 619 additions & 0 deletions

File tree

src/Create-ModuleMappingFile.ps1

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# ------------------------------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT License. See License in the project root for license information.
3+
# ------------------------------------------------------------------------------
4+
5+
function Create-ModuleMappingFile {
6+
[cmdletbinding()]
7+
param(
8+
[ValidateSet('Entra', 'EntraBeta')]
9+
[string]
10+
$ModuleName = 'Entra' # Default to "Entra" if no argument is provided
11+
)
12+
13+
PROCESS {
14+
15+
if($ModuleName -eq 'Entra'){
16+
$rootModuleName = 'Microsoft.Entra'
17+
$docFolderName = 'entra-powershell-v1.0'
18+
}
19+
elseif($ModuleName -eq 'EntraBeta'){
20+
$rootModuleName = 'Microsoft.Entra.Beta'
21+
$docFolderName = 'entra-powershell-beta'
22+
}
23+
24+
$moduleFolderPath = (Join-Path $PSScriptRoot "../module/docs/$docFolderName")
25+
Write-Host "[ModuleFolderPath] $moduleFolderPath" -ForegroundColor 'Green'
26+
$subModules = @(Get-ChildItem -Path $moduleFolderPath -Directory)
27+
Write-Host "[subModules] $($subModules.Count)" -ForegroundColor 'Green'
28+
29+
$mapping = @{}
30+
31+
foreach($subModuleName in $subModules.Name){
32+
$subModuleFolderPath = (Join-Path $moduleFolderPath $subModuleName)
33+
Write-Host "[ModuleFolderPath] $subModuleFolderPath" -ForegroundColor 'Green'
34+
$subModulesDocs = @(Get-ChildItem -Path $subModuleFolderPath -File)
35+
36+
foreach($subModuleDoc in $subModulesDocs){
37+
if($subModuleDoc.BaseName -ne 'Enable-EntraAzureADAlias'){
38+
$mapping.Add($subModuleDoc.BaseName,$subModuleName)
39+
}
40+
}
41+
}
42+
43+
# Save the mapping to a JSON file
44+
$mappingFilePath = (Join-Path $PSScriptRoot "$ModuleName-ModuleMapping.json")
45+
$mapping | ConvertTo-Json -Depth 10 | Out-File -FilePath $mappingFilePath -Encoding utf8
46+
}
47+
}

src/Entra-ModuleMapping.json

Lines changed: 261 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,261 @@
1+
{
2+
"Set-EntraAuthorizationPolicy": "SignIns",
3+
"New-EntraApplicationPassword": "Applications",
4+
"Get-EntraApplicationKeyCredential": "Applications",
5+
"New-EntraDomain": "DirectoryManagement",
6+
"Enable-EntraDirectoryRole": "DirectoryManagement",
7+
"Get-EntraPolicy": "SignIns",
8+
"Remove-EntraPermissionGrantPolicy": "SignIns",
9+
"Get-EntraContactDirectReport": "DirectoryManagement",
10+
"Get-EntraDomainNameReference": "DirectoryManagement",
11+
"Disconnect-Entra": "Authentication",
12+
"Get-EntraDeletedUser": "Users",
13+
"Get-EntraConditionalAccessPolicy": "SignIns",
14+
"New-EntraDirectoryRoleAssignment": "Governance",
15+
"Set-EntraAttributeSet": "DirectoryManagement",
16+
"Get-EntraServicePrincipalKeyCredential": "Applications",
17+
"Get-EntraUserSponsor": "Users",
18+
"Get-EntraAuditSignInLog": "Reports",
19+
"Set-EntraUserLicense": "Users",
20+
"Get-EntraGroupLifecyclePolicy": "Groups",
21+
"Add-EntraServicePrincipalDelegatedPermissionClassification": "Applications",
22+
"Remove-EntraDirectoryRoleAssignment": "Governance",
23+
"Remove-EntraApplicationVerifiedPublisher": "Applications",
24+
"Get-EntraDeletedDirectoryObject": "DirectoryManagement",
25+
"Get-EntraDomainServiceConfigurationRecord": "DirectoryManagement",
26+
"Get-EntraDevice": "DirectoryManagement",
27+
"Get-EntraDirectoryRole": "DirectoryManagement",
28+
"Remove-EntraUserAppRoleAssignment": "Users",
29+
"Remove-EntraGroupMember": "Groups",
30+
"Get-EntraUserDirectReport": "Users",
31+
"Set-EntraServicePrincipal": "Applications",
32+
"Remove-EntraAdministrativeUnitMember": "DirectoryManagement",
33+
"Get-EntraDomainVerificationDnsRecord": "DirectoryManagement",
34+
"Get-EntraFeatureRolloutPolicy": "SignIns",
35+
"Remove-EntraUser": "Users",
36+
"New-EntraFeatureRolloutPolicy": "SignIns",
37+
"Get-EntraUser": "Users",
38+
"Set-EntraApplicationVerifiedPublisher": "Applications",
39+
"Set-EntraDomain": "DirectoryManagement",
40+
"Remove-EntraNamedLocationPolicy": "SignIns",
41+
"Remove-EntraDeviceRegisteredUser": "DirectoryManagement",
42+
"Get-EntraDirectoryRoleTemplate": "DirectoryManagement",
43+
"Set-EntraUserManager": "Users",
44+
"Get-EntraUserRole": "Users",
45+
"Get-EntraServicePrincipalOAuth2PermissionGrant": "Applications",
46+
"Set-EntraDirSyncFeature": "DirectoryManagement",
47+
"Get-EntraUserCBAAuthorizationInfo": "CertificateBasedAuthentication",
48+
"New-EntraApplicationPasswordCredential": "Applications",
49+
"Get-EntraFederationProperty": "DirectoryManagement",
50+
"Remove-EntraApplicationExtensionProperty": "Applications",
51+
"Get-EntraDomainFederationSettings": "DirectoryManagement",
52+
"Set-EntraFeatureRolloutPolicy": "SignIns",
53+
"New-EntraGroupAppRoleAssignment": "Groups",
54+
"New-EntraApplicationFromApplicationTemplate": "Applications",
55+
"Remove-EntraGroup": "Groups",
56+
"Set-EntraUserCBACertificateUserId": "CertificateBasedAuthentication",
57+
"Get-CrossCloudVerificationCode": "DirectoryManagement",
58+
"Get-EntraUserCertificateUserIdsFromCertificate": "CertificateBasedAuthentication",
59+
"Get-EntraAuthenticationMethodUserRegistrationDetailReport": "Reports",
60+
"Set-EntraApplicationLogo": "Applications",
61+
"New-EntraConditionalAccessPolicy": "SignIns",
62+
"Connect-Entra": "Authentication",
63+
"Set-EntraConditionalAccessPolicy": "SignIns",
64+
"Get-EntraDeviceRegisteredUser": "DirectoryManagement",
65+
"New-EntraApplication": "Applications",
66+
"Get-EntraDirectoryRoleMember": "DirectoryManagement",
67+
"Revoke-EntraSignedInUserAllRefreshToken": "Authentication",
68+
"Add-EntraDeviceRegisteredOwner": "DirectoryManagement",
69+
"Remove-EntraExternalDomainFederation": "DirectoryManagement",
70+
"Set-EntraCustomSecurityAttributeDefinition": "DirectoryManagement",
71+
"New-EntraPermissionGrantPolicy": "SignIns",
72+
"Remove-EntraUserManager": "Users",
73+
"Remove-EntraPermissionGrantConditionSet": "SignIns",
74+
"Get-EntraContactMembership": "DirectoryManagement",
75+
"Select-EntraGroupIdsUserIsMemberOf": "Groups",
76+
"Remove-EntraUserSponsor": "Users",
77+
"Get-EntraUserOwnedObject": "Users",
78+
"Remove-EntraTrustedCertificateAuthority": "SignIns",
79+
"Set-EntraDirSyncConfiguration": "DirectoryManagement",
80+
"Get-EntraInactiveSignInUser": "Users",
81+
"New-EntraNamedLocationPolicy": "SignIns",
82+
"Get-EntraServicePrincipalOwner": "Applications",
83+
"Get-EntraUserInactiveSignIn": "Users",
84+
"New-EntraDirectoryRoleDefinition": "Governance",
85+
"Set-EntraIdentityProvider": "SignIns",
86+
"Remove-EntraDeviceRegisteredOwner": "DirectoryManagement",
87+
"Set-EntraTrustedCertificateAuthority": "SignIns",
88+
"Restore-EntraDeletedApplication": "Applications",
89+
"Get-EntraDeletedApplication": "Applications",
90+
"Set-EntraDirSyncEnabled": "DirectoryManagement",
91+
"Set-EntraDomainFederationSettings": "DirectoryManagement",
92+
"Get-EntraSubscribedSku": "DirectoryManagement",
93+
"New-EntraPolicy": "SignIns",
94+
"Get-EntraUserMembership": "Users",
95+
"Remove-EntraLifecyclePolicyGroup": "Groups",
96+
"Set-EntraPermissionGrantPolicy": "SignIns",
97+
"Add-EntraScopedRoleMembership": "DirectoryManagement",
98+
"Get-EntraServicePrincipalMembership": "Applications",
99+
"New-EntraCustomSecurityAttributeDefinition": "DirectoryManagement",
100+
"Get-EntraApplicationOwner": "Applications",
101+
"Get-EntraLifecyclePolicyGroup": "Groups",
102+
"Remove-EntraGroupLifecyclePolicy": "Groups",
103+
"Set-EntraAdministrativeUnit": "DirectoryManagement",
104+
"Add-EntraGroupMember": "Groups",
105+
"Get-EntraAuthorizationPolicy": "SignIns",
106+
"Remove-EntraGroupAppRoleAssignment": "Groups",
107+
"Get-EntraServicePrincipalAppRoleAssignedTo": "Applications",
108+
"Get-EntraIdentityProvider": "SignIns",
109+
"Add-EntraDeviceRegisteredUser": "DirectoryManagement",
110+
"Add-EntraGroupOwner": "Groups",
111+
"Set-EntraUserExtension": "Users",
112+
"Update-EntraUserFromFederated": "Users",
113+
"Remove-EntraDirectoryRoleDefinition": "Governance",
114+
"Remove-EntraApplicationOwner": "Applications",
115+
"Set-EntraGroup": "Groups",
116+
"Get-EntraDirectoryRoleDefinition": "Governance",
117+
"Get-EntraDeletedGroup": "Groups",
118+
"Get-EntraApplicationLogo": "Applications",
119+
"Get-EntraDeviceRegisteredOwner": "DirectoryManagement",
120+
"Set-EntraPolicy": "SignIns",
121+
"Get-EntraPermissionGrantPolicy": "SignIns",
122+
"New-EntraServicePrincipal": "Applications",
123+
"Remove-EntraDeletedDirectoryObject": "DirectoryManagement",
124+
"New-EntraIdentityProvider": "SignIns",
125+
"Remove-EntraServicePrincipalKeyCredential": "Applications",
126+
"Get-EntraApplication": "Applications",
127+
"New-EntraApplicationKey": "Applications",
128+
"Remove-EntraDevice": "DirectoryManagement",
129+
"Get-EntraPartnerInformation": "DirectoryManagement",
130+
"Set-EntraPartnerInformation": "DirectoryManagement",
131+
"Set-EntraUserPasswordProfile": "Users",
132+
"Get-EntraDirectoryObject": "DirectoryManagement",
133+
"Set-EntraSignedInUserPassword": "Users",
134+
"Confirm-EntraDomain": "DirectoryManagement",
135+
"Get-EntraApplicationPasswordCredential": "Applications",
136+
"New-EntraApplicationKeyCredential": "Applications",
137+
"Get-EntraUserManager": "Users",
138+
"Select-EntraGroupIdsContactIsMemberOf": "Groups",
139+
"Get-EntraGroupOwner": "Groups",
140+
"Remove-EntraOAuth2PermissionGrant": "SignIns",
141+
"Get-EntraUserCreatedObject": "Users",
142+
"Add-EntraAdministrativeUnitMember": "DirectoryManagement",
143+
"Set-EntraDirectoryRoleDefinition": "Governance",
144+
"Set-EntraTenantDetail": "DirectoryManagement",
145+
"Get-EntraUserThumbnailPhoto": "Users",
146+
"Remove-EntraApplicationKeyCredential": "Applications",
147+
"Get-EntraDirectoryObjectOnPremisesProvisioningError": "DirectoryManagement",
148+
"Remove-EntraServicePrincipal": "Applications",
149+
"Get-EntraCustomSecurityAttributeDefinition": "DirectoryManagement",
150+
"Get-EntraObjectSetting": "Groups",
151+
"Remove-EntraConditionalAccessPolicy": "SignIns",
152+
"Resolve-EntraTenant": "DirectoryManagement",
153+
"Remove-EntraApplicationPassword": "Applications",
154+
"Get-EntraPasswordPolicy": "DirectoryManagement",
155+
"Remove-EntraIdentityProvider": "SignIns",
156+
"Remove-EntraServicePrincipalPasswordCredential": "Applications",
157+
"Remove-EntraFeatureRolloutPolicyDirectoryObject": "SignIns",
158+
"New-EntraServicePrincipalKeyCredential": "Applications",
159+
"Add-EntraDirectoryRoleMember": "DirectoryManagement",
160+
"Find-EntraPermission": "Authentication",
161+
"Remove-EntraDomain": "DirectoryManagement",
162+
"Reset-EntraLifeCycleGroup": "Groups",
163+
"New-EntraDevice": "DirectoryManagement",
164+
"Set-EntraNamedLocationPolicy": "SignIns",
165+
"New-EntraServicePrincipalPasswordCredential": "Applications",
166+
"Remove-EntraApplication": "Applications",
167+
"Get-EntraServicePrincipalOwnedObject": "Applications",
168+
"New-EntraUserAppRoleAssignment": "Users",
169+
"Get-EntraDirSyncFeature": "DirectoryManagement",
170+
"New-EntraApplicationExtensionProperty": "Applications",
171+
"Get-EntraOAuth2PermissionGrant": "SignIns",
172+
"Set-EntraUserThumbnailPhoto": "Users",
173+
"Get-EntraAdministrativeUnit": "DirectoryManagement",
174+
"Get-EntraAttributeSet": "DirectoryManagement",
175+
"Get-EntraGroup": "Groups",
176+
"Remove-EntraGroupOwner": "Groups",
177+
"Get-EntraDeletedDevice": "DirectoryManagement",
178+
"Get-EntraTrustedCertificateAuthority": "SignIns",
179+
"Get-EntraDirectoryRoleAssignment": "Governance",
180+
"Get-EntraTenantDetail": "DirectoryManagement",
181+
"Get-EntraContract": "DirectoryManagement",
182+
"Get-EntraGroupMember": "Groups",
183+
"Revoke-EntraUserAllRefreshToken": "Authentication",
184+
"Remove-EntraDirectoryRoleMember": "DirectoryManagement",
185+
"Add-EntraCustomSecurityAttributeDefinitionAllowedValue": "DirectoryManagement",
186+
"Get-EntraUserRegisteredDevice": "Users",
187+
"Get-EntraApplicationServiceEndpoint": "Applications",
188+
"Get-EntraUserAuthenticationMethod": "SignIns",
189+
"Get-EntraDeletedServicePrincipal": "Applications",
190+
"Get-EntraUserOwnedDevice": "Users",
191+
"New-EntraTrustedCertificateAuthority": "SignIns",
192+
"Get-EntraNamedLocationPolicy": "SignIns",
193+
"Get-EntraUserGroup": "Users",
194+
"Get-EntraScopedRoleMembership": "DirectoryManagement",
195+
"Get-EntraApplicationTemplate": "Applications",
196+
"New-EntraOauth2PermissionGrant": "SignIns",
197+
"Set-EntraPermissionGrantConditionSet": "SignIns",
198+
"Remove-EntraAdministrativeUnit": "DirectoryManagement",
199+
"Restore-EntraDeletedDirectoryObject": "DirectoryManagement",
200+
"Get-EntraUserAppRoleAssignment": "Users",
201+
"New-EntraServicePrincipalAppRoleAssignment": "Applications",
202+
"New-EntraGroupLifecyclePolicy": "Groups",
203+
"Get-EntraCustomSecurityAttributeDefinitionAllowedValue": "DirectoryManagement",
204+
"Get-EntraGroupPermissionGrant": "Groups",
205+
"Get-EntraServicePrincipalAppRoleAssignment": "Applications",
206+
"Get-EntraAdministrativeUnitMember": "DirectoryManagement",
207+
"Remove-EntraFeatureRolloutPolicy": "SignIns",
208+
"Remove-EntraDeletedApplication": "Applications",
209+
"New-EntraPermissionGrantConditionSet": "SignIns",
210+
"Set-EntraApplication": "Applications",
211+
"Get-EntraGroupAppRoleAssignment": "Groups",
212+
"New-EntraInvitation": "SignIns",
213+
"Get-EntraAuditDirectoryLog": "Reports",
214+
"Add-EntraLifecyclePolicyGroup": "Groups",
215+
"Get-EntraServicePrincipalDelegatedPermissionClassification": "Applications",
216+
"New-EntraAdministrativeUnit": "DirectoryManagement",
217+
"Get-EntraContext": "Authentication",
218+
"Get-EntraUserOAuth2PermissionGrant": "Users",
219+
"Update-EntraOauth2PermissionGrant": "SignIns",
220+
"Get-EntraContact": "DirectoryManagement",
221+
"Get-EntraUserExtension": "Users",
222+
"Get-EntraServicePrincipalPasswordCredential": "Applications",
223+
"Get-EntraUserAdministrativeUnit": "Users",
224+
"Add-EntraEnvironment": "Authentication",
225+
"Get-EntraEnvironment": "Authentication",
226+
"Get-EntraAccountSku": "DirectoryManagement",
227+
"Remove-EntraScopedRoleMembership": "DirectoryManagement",
228+
"Get-EntraUserLicenseDetail": "Users",
229+
"Select-EntraGroupIdsGroupIsMemberOf": "Groups",
230+
"Remove-EntraPolicy": "SignIns",
231+
"Remove-EntraContact": "DirectoryManagement",
232+
"Select-EntraGroupIdsServicePrincipalIsMemberOf": "Applications",
233+
"Get-EntraServicePrincipalCreatedObject": "Applications",
234+
"Remove-EntraApplicationPasswordCredential": "Applications",
235+
"Set-EntraUser": "Users",
236+
"Get-EntraDeletedAdministrativeUnit": "DirectoryManagement",
237+
"New-EntraAttributeSet": "DirectoryManagement",
238+
"Get-EntraServicePrincipal": "Applications",
239+
"Set-EntraUserSponsor": "Users",
240+
"Get-EntraDomain": "DirectoryManagement",
241+
"Set-EntraCustomSecurityAttributeDefinitionAllowedValue": "DirectoryManagement",
242+
"Set-EntraGroupLifecyclePolicy": "Groups",
243+
"Remove-EntraApplicationKey": "Applications",
244+
"Get-EntraContactThumbnailPhoto": "DirectoryManagement",
245+
"Set-EntraDevice": "DirectoryManagement",
246+
"New-EntraUser": "Users",
247+
"Remove-EntraServicePrincipalAppRoleAssignment": "Applications",
248+
"Get-EntraApplicationExtensionProperty": "Applications",
249+
"Reset-EntraStrongAuthenticationMethodByUpn": "SignIns",
250+
"Get-EntraExtensionProperty": "DirectoryManagement",
251+
"Get-EntraPermissionGrantConditionSet": "SignIns",
252+
"Get-EntraContactManager": "DirectoryManagement",
253+
"Remove-EntraServicePrincipalDelegatedPermissionClassification": "Applications",
254+
"Add-EntraServicePrincipalOwner": "Applications",
255+
"Add-EntraApplicationOwner": "Applications",
256+
"Get-EntraSubscription": "DirectoryManagement",
257+
"Get-EntraDirSyncConfiguration": "DirectoryManagement",
258+
"Remove-EntraUserExtension": "Users",
259+
"Remove-EntraServicePrincipalOwner": "Applications",
260+
"New-EntraGroup": "Groups"
261+
}

0 commit comments

Comments
 (0)