Over the years I’ve written many an integration with identity sources. Dynamics 365 F&O though is one that has come up a number of times. With that in mind I’ve written a PowerShell Module to expose and simplify integration with Dynamics 365 F&O for Users and Roles. This post is the details to setup and configure the integration along with using the cmdlets or IAM orchestration.
API integration to Dynamics 365 Finance & Operations requires:
The following PowerShell Modules are leveraged by the D365FOIAM PowerShell Module and appear in the modules subdirectory to load locally with tested and verified versions to interact with D365 F&O.
From the module source files using an Administrative PowerShell session run the installation script.
Install-Module D365FOIAM
Assuming the PowerShell Module has been installed from the PowerShell Gallery …
Import-Module D365FOIAM
If the PowerShell Module has been placed in the PowerShell Modules directory …
Module cmdlets
Get-Command -Module D365FOIAM | Sort-Object Name
CommandType Name Version Source
----------- ---- ------- ------
Function Add-D365FORoleToSystemUser 1.0.1 D365FOIAM
Alias Add-D365WIFConfigAuthorityThumbprint 1.0.1 D365FOIAM
Alias Clear-D365TableDataFromBacpac 1.0.1 D365FOIAM
Alias Get-D365DecryptedConfigFile 1.0.1 D365FOIAM
Function Get-D365FOPersonUsers 1.0.1 D365FOIAM
Function Get-D365FOSecurityUserRoleAssociations 1.0.1 D365FOIAM
Function Get-D365FOSecurityUserRoles 1.0.1 D365FOIAM
Function Get-D365FOSecurityUserRolesSchema 1.0.1 D365FOIAM
Function Get-D365FOSystemUsers 1.0.1 D365FOIAM
Function Get-D365FOSystemUserSchema 1.0.1 D365FOIAM
Alias Get-D365ModelFileFromBacpac 1.0.1 D365FOIAM
Alias Get-D365SqlOptionsFromBacpacModelFile 1.0.1 D365FOIAM
Alias Initialize-D365TestAutomationCertificate 1.0.1 D365FOIAM
Alias Invoke-D365SqlCmd 1.0.1 D365FOIAM
Function New-D365FOSystemUser 1.0.1 D365FOIAM
Function Remove-D365FORoleFromSystemUser 1.0.1 D365FOIAM
Function Set-D365FOGlobals 1.0.1 D365FOIAM
Function Update-D365FOSystemUser 1.0.1 D365FOIAM
Environment configuration sets a series of Global Variables that are used to interact with D365 F&O via the oData APIs and maintain an Access Token from Entra ID.
$myD365FOCreds = Get-Credential -Message "Enter the ClientID of the Entra ID Application you've registered and the associated ClientSecret you created."
Set-D365FOGlobals -D365FOTenant "yourtenant.onmicrosoft.com" -D365FOURI "https://yourtenant.cloudax.dynamics.com.onmicrosoft.com" -EntraIDAppClientID $myD365FOCreds.UserName -EntraIDAppClientSecret $myD365FOCreds.Password
Get-D365FOSystemUserSchema
Name : SystemUser
EntitySetName : SystemUsers
LabelId : @SYS12108
IsReadOnly : False
ConfigurationEnabled : True
Properties : {@{Name=UserID; TypeName=Edm.String; DataType=String; LabelId=@Kernel:UserInfo_ID; IsKey=True; IsMandatory=True; ConfigurationEnabled=True; AllowEdit=False; AllowEditOnCreate=True; IsDimension=False; DimensionRelation=; IsDynamicDimension=False; DimensionLegalEntityProperty=; DimensionTypeProperty=}, @{Name=StartPage; TypeName=Edm.String;
DataType=String; LabelId=; IsKey=False; IsMandatory=False; ConfigurationEnabled=True; AllowEdit=True; AllowEditOnCreate=True; IsDimension=False; DimensionRelation=; IsDynamicDimension=False; DimensionLegalEntityProperty=; DimensionTypeProperty=}, @{Name=Language; TypeName=Edm.String; DataType=String; LabelId=@SYS66040; IsKey=False;
IsMandatory=False; ConfigurationEnabled=True; AllowEdit=True; AllowEditOnCreate=True; IsDimension=False; DimensionRelation=; IsDynamicDimension=False; DimensionLegalEntityProperty=; DimensionTypeProperty=}, @{Name=EventPollFrequency; TypeName=Edm.Int32; DataType=Int32; LabelId=@SYS94046; IsKey=False; IsMandatory=False;
ConfigurationEnabled=True; AllowEdit=True; AllowEditOnCreate=True; IsDimension=False; DimensionRelation=; IsDynamicDimension=False; DimensionLegalEntityProperty=; DimensionTypeProperty=}…}
NavigationProperties : {@{Name=DefaultBudgetManager; RelatedEntity=BudgetControlConfiguration; RelatedRelationName=BudgetControlConfigurationDefaultBudgetManager; Cardinality=Multiple; Constraints=System.Object[]}, @{Name=BudgetControlRuleBudgetManager; RelatedEntity=BudgetControlRule; RelatedRelationName=BudgetManagers; Cardinality=Multiple;
Constraints=System.Object[]}, @{Name=UserGroupUserList; RelatedEntity=UserGroupUserList; RelatedRelationName=SystemUser; Cardinality=Multiple; Constraints=System.Object[]}, @{Name=BudgetControlGroupBudgetManager; RelatedEntity=BudgetControlGroup; RelatedRelationName=BudgetManagers; Cardinality=Multiple; Constraints=System.Object[]}…}
PropertyGroups : {}
Actions : {}
Get-D365FOSecurityUserRolesSchema
Name : SecurityUserRole
EntitySetName : SecurityUserRoles
LabelId : @SysSecLabels:SystemSecurityUserRoleEntity
IsReadOnly : False
ConfigurationEnabled : True
Properties : {@{Name=UserId; TypeName=Edm.String; DataType=String; LabelId=User ID; IsKey=True; IsMandatory=True; ConfigurationEnabled=True; AllowEdit=False; AllowEditOnCreate=True; IsDimension=False; DimensionRelation=; IsDynamicDimension=False; DimensionLegalEntityProperty=; DimensionTypeProperty=}, @{Name=SecurityRoleIdentifier; TypeName=Edm.String;
DataType=String; LabelId=Role AOT name; IsKey=True; IsMandatory=False; ConfigurationEnabled=True; AllowEdit=False; AllowEditOnCreate=True; IsDimension=False; DimensionRelation=; IsDynamicDimension=False; DimensionLegalEntityProperty=; DimensionTypeProperty=}, @{Name=AssignmentStatus;
TypeName=Microsoft.Dynamics.DataEntities.RoleAssignmentStatus; DataType=Enum; LabelId=; IsKey=False; IsMandatory=False; ConfigurationEnabled=True; AllowEdit=True; AllowEditOnCreate=True; IsDimension=False; DimensionRelation=; IsDynamicDimension=False; DimensionLegalEntityProperty=; DimensionTypeProperty=}, @{Name=AssignmentMode;
TypeName=Microsoft.Dynamics.DataEntities.RoleAssignmentMode; DataType=Enum; LabelId=; IsKey=False; IsMandatory=False; ConfigurationEnabled=True; AllowEdit=True; AllowEditOnCreate=True; IsDimension=False; DimensionRelation=; IsDynamicDimension=False; DimensionLegalEntityProperty=; DimensionTypeProperty=}…}
NavigationProperties : {}
PropertyGroups : {}
Actions : {}
Get-D365FOSystemUsers | select-object -last 1
@odata.etag : W/"JzIxMzMwMjA5MjgsNjg3MjEzNzQxMDk7MSw2ODcxOTUxNzMzMyc="
UserID : TimR
StartPage : DefaultDashboard
Language :
EventPollFrequency : 15
ShowNotificationsInTheMicrosoftDynamicsAX7Client : Yes
DefaultCountryRegion :
EventPopUpDisplayWhen : DefinedOnRule
AutomaticUrlUpdate : No
EventPopUpLinkDestination : ToAlert
UserInfo_language : en-us
HomePageRefreshDuration : 0
Density :
Company : USMC
ExternalUser : False
UserName : TimRite
EventPopUps : No
EmailProviderID :
SqmEnabled : PromptMe
EventWorkflowShowPopup : Yes
SendNotificationsInEmail : No
NetworkDomain : https://sts.windows.net/darrenjrobinson
DocumentHandlingActive : Yes
PreferredLocale :
PersonName :
Alias : t.rite@darrenjrobinson.com
Email :
GlobalExcelExportFilePath :
AutoLogOff : 0
PreferredCalendar : Gregorian
SendAlertAsEmailMessage : DefinedOnRule
AccountType : ClaimsUser
SqmGUID : 00000000-0000-0000-0000-000000000000
GlobalExcelExportMode : 0
WorkflowLineItemNotificationFormat : Grouped
PreferredTimeZone : GMT_COORDINATEDUNIVERSALTIME
Helplanguage : en-us
MarkEmptyLinks : No
Enabled : False
Theme : Theme0
EventWorkflowTasksInActionCenter : No
GlobalListPageLinkMode : 0
UserInfo_defaultPartition : True
ShowAttachmentStatus : No
Get-D365FOSystemUsers | Where-Object {$_.UserId -like '*Darren*'} | Select-Object -Property UserId, Alias, Enabled
UserID Alias Enabled
------ ----- -------
darren darren@darrenjrobinson.com True
darrenjrobinson darren@darrenjrobinson.onmicrosoft.com True
Get-D365FOSecurityUserRoles | Select-Object -Skip 350 | Format-Table
@odata.etag UserId SecurityRoleIdentifier AssignmentStatus AssignmentMode SecurityRoleName UserLicenseType
----------- ------ ---------------------- ---------------- -------------- ---------------- ---------------
W/"JzEsNTYzODYyNjY2MSc=" RetailServiceAccount INVENTCOSTACCOUNTANT Enabled Manual Inventory accountant Enterprise
W/"JzEsNTYzODYyNjY2Myc=" RetailServiceAccount INVENTCOSTCOSTCLERK Enabled Manual Inventory accountant clerk Enterprise
W/"JzEsNTYzODYyNjY2NSc=" RetailServiceAccount INVENTMATERIALSMANAGER Enabled Manual Materials manager Enterprise
W/"JzEsNTYzODYyNjY2Nyc=" RetailServiceAccount INVENTQUALITYCONTROLMANAGER Enabled Manual Quality control manager Enterprise
W/"JzEsNTYzODYyNjY2OSc=" RetailServiceAccount INVENTRECEIVINGCLERK Enabled Manual Receiving clerk Activity
W/"JzEsNTYzODYyNjY3MSc=" RetailServiceAccount INVENTSHIPPINGCLERK Enabled Manual Shipping clerk Activity
W/"JzEsNTYzODYyNjY3Myc=" RetailServiceAccount JMGADVTIMEWORKER Enabled Manual Time registration user Universal
W/"JzEsNTYzODYyNjY3NSc=" RetailServiceAccount TRADEPURCHASINGMANAGER Enabled Manual Purchasing manager Enterprise
W/"JzEsNTYzODYyNjY3Nyc=" RetailServiceAccount RETAILCATALOGMANAGER Enabled Manual Retail catalog manager Enterprise
W/"JzEsNTYzODYyNjY3OSc=" RetailServiceAccount RETAILMERCHANDISINGMANAGER Enabled Manual Retail merchandising manager Enterprise
W/"JzEsNTYzODYyNjY4MSc=" RetailServiceAccount RETAILOPERATIONSMANAGER Enabled Manual Retail operations manager Enterprise
W/"JzEsNTYzODYyNjY4Myc=" RetailServiceAccount RETAILWAREHOUSEMANAGER Enabled Manual Retail warehouse manager Activity
W/"JzEsNTYzODYyNjY4NSc=" RetailServiceAccount RETAILWAREHOUSECLERK Enabled Manual Retail warehouse clerk Universal
W/"JzEsNTYzODYyNjY4Nyc=" RetailServiceAccount TRADESALESCLERK Enabled Manual Sales clerk Activity
W/"JzEsNTYzODYyNjY4OSc=" RetailServiceAccount TRADESALESMANAGER Enabled Manual Sales manager Enterprise
W/"JzEsNTYzODYyNjY5MSc=" RetailServiceAccount TRADESALESREPRESENTATIVE Enabled Manual Sales representative Activity
W/"JzEsNTYzODYyNjY5Myc=" RetailServiceAccount SMASERVICEDELIVERYMANAGER Enabled Manual Service delivery manager Enterprise
W/"JzEsNTYzODYyNjY5Nyc=" RetailServiceAccount FBTAXACCOUNTANT_BR Enabled Manual Tax accountant Enterprise
W/"JzEsNTYzODYyNjY5OSc=" RetailServiceAccount VENDVENDORACCOUNTMANAGER Enabled Manual Vendor account manager Activity
W/"JzEsNTYzODYyNjcwMSc=" RetailServiceAccount VENDPURCHASINGAGENT Enabled Manual Purchasing agent Enterprise
W/"JzEsNTYzODYyNjcwMyc=" PowerPlatformApp CDSVIRTUALENTITYAPPLICATION Enabled Manual Dataverse Virtual entity integration app None
W/"JzEsNTYzODYyNjcwNSc=" PowerPlatformApp CDSVIRTUALENTITYAUTHENTICATEDPORTALUSER Enabled Manual Dataverse Virtual entity authenticated user None
W/"JzEsNTYzODYyNjcwNyc=" PowerPlatformApp CDSVIRTUALENTITYANONYMOUSPORTALUSER Enabled Manual Dataverse Virtual entity anonymous user None
W/"JzEsNTYzODYyNjcwOSc=" PowerPlatformApp BUSINESSEVENTSSECURITYROLE Enabled Manual Business events security role Enterprise
W/"JzEsNTYzODYyNjcxNCc=" ScaleUnitPipeline SCALEUNITDATAPIPELINEROLE Enabled Manual ScaleUnitDataPipelineRole None
W/"JzEsNTYzODYyNjcxNic=" ScaleUnitManagement SCALEUNITADMIN Enabled Manual Scale unit management None
W/"JzEsNTYzODYyNjcxOSc=" MonitoringAppUser SYSMONSECURITYROLE Enabled Manual SysMonSecurityRole None
W/"JzEsNTYzODYyNjcyMic=" DataSyncFrameworkApp CDSVIRTUALENTITYDATASYNCFRAMEWORK Enabled Manual Dataverse data sync framework application role. None
W/"JzEsNTYzODYyNjcyNSc=" DynamicsMaintAppUser DYNAMICSMAINTENANCEAPPUSERSECURITYROLE Enabled Manual Dynamics Maintenance User Role None
W/"JzEsNTYzODg5Nzc1Nyc=" darren SYSTEMUSER Enabled Manual System user Universal
W/"JzEsNTYzODg5Nzc1OSc=" darren -SYSADMIN- Enabled Manual System administrator Enterprise
W/"JzEsNTYzODkwMDAwOSc=" Guest GUEST Enabled Manual Guest Universal
W/"JzEsNTYzODkwMDAxNic=" darrenjrobinson SYSTEMUSER Enabled Manual System user Universal
W/"JzEsNTYzODkwMDAyMCc=" darrenjrobinson -SYSADMIN- Enabled Manual System administrator Enterprise
Get-D365FOSecurityUserRoleAssociations | Select-Object -Skip 400 | Format-Table
@odata.etag UserId SecurityRoleIdentifier AssignmentStatus AssignmentMode SecurityRoleName
----------- ------ ---------------------- ---------------- -------------- ----------------
W/"JzEsNTYzODg5Nzc1Nyc=" darren SYSTEMUSER Enabled Manual System user
W/"JzEsNTYzODg5Nzc1OSc=" darren -SYSADMIN- Enabled Manual System administrator
W/"JzEsNTYzODkwMDAwOSc=" Guest GUEST Enabled Manual Guest
W/"JzEsNTYzODkwMDAxNic=" darrenjrobinson SYSTEMUSER Enabled Manual System user
W/"JzEsNTYzODkwMDAyMCc=" darrenjrobinson -SYSADMIN- Enabled Manual System administrator
New-D365FOSystemUser -Company "USMC" -NetworkDomain 'https://sts.windows.net/darrenjrobinson' -UserName 'TimRite' -UserID 'TimR' -Alias 't.rite@darrenjrobinson.com'
"--batchresponse_45d1cd04-0377-4f53-b4bb-46822119f1c1\r\nContent-Type: multipart/mixed; boundary=changesetresponse_92f72077-fcc4-4055-9b2a-a40f44f11e2a\r\n\r\n--changesetresponse_92f72077-fcc4-4055-9b2a-a40f44f11e2a\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 1\r\n\r\nHTTP/1.1 201 Created\r\nETag: W/\"JzEsNjg3MjEzNzQxMDk7MSw2ODcxOTUxNzMzMyc=\"\r\nLocation: https://d365foperfpoc3ff96227df736db3devaos.cloudax.dynamics.com/data/SystemUsers('TimR')\r\nContent-Type: application/json; odata.metadata=minimal\r\nOData-Version: 4.0\r\n\r\n{\r\n \"@odata.context\":\"https://d365foperfpoc3ff96227df736db3devaos.cloudax.dynamics.com/data/$metadata#SystemUsers/$entity\",\"@odata.etag\":\"W/\\\"JzEsNjg3MjEzNzQxMDk7MSw2ODcxOTUxNzMzMyc=\\\"\",\"UserID\":\"TimR\",\"StartPage\":\"DefaultDashboard\",\"Language\":\"\",\"EventPollFrequency\":15,\"ShowNotificationsInTheMicrosoftDynamicsAX7Client\":\"Yes\",\"DefaultCountryRegion\":\"\",\"EventPopUpDisplayWhen\":\"DefinedOnRule\",\"AutomaticUrlUpdate\":\"No\",\"EventPopUpLinkDestination\":\"ToAlert\",\"UserInfo_language\":\"en-us\",\"HomePageRefreshDuration\":0,\"Density\":null,\"Company\":\"USMC\",\"ExternalUser\":false,\"UserName\":\"TimRite\",\"EventPopUps\":\"No\",\"EmailProviderID\":\"\",\"SqmEnabled\":\"PromptMe\",\"EventWorkflowShowPopup\":\"Yes\",\"SendNotificationsInEmail\":\"No\",\"NetworkDomain\":\"https://sts.windows.net/darrenjrobinson\",\"DocumentHandlingActive\":\"Yes\",\"PreferredLocale\":\"\",\"PersonName\":\"\",\"Alias\":\"t.rite@darrenjrobinson.com\",\"Email\":\"\",\"GlobalExcelExportFilePath\":\"\",\"AutoLogOff\":0,\"PreferredCalendar\":\"Gregorian\",\"SendAlertAsEmailMessage\":\"DefinedOnRule\",\"AccountType\":\"ClaimsUser\",\"SqmGUID\":\"00000000-0000-0000-0000-000000000000\",\"GlobalExcelExportMode\":0,\"WorkflowLineItemNotificationFormat\":\"Grouped\",\"PreferredTimeZone\":\"GMT_COORDINATEDUNIVERSALTIME\",\"Helplanguage\":\"en-us\",\"MarkEmptyLinks\":\"No\",\"Enabled\":true,\"Theme\":\"Theme0\",\"EventWorkflowTasksInActionCenter\":\"No\",\"GlobalListPageLinkMode\":0,\"UserInfo_defaultPartition\":true,\"ShowAttachmentStatus\":\"No\"\r\n}\r\n--changesetresponse_92f72077-fcc4-4055-9b2a-a40f44f11e2a--\r\n--batchresponse_45d1cd04-0377-4f53-b4bb-46822119f1c1--\r\n"
Get-D365FOSystemUsers | Where-Object {$_.UserId -eq 'TimR'} | Select-Object -Property UserId, Alias, Enabled
UserID Alias Enabled
------ ----- -------
TimR t.rite@darrenjrobinson.com True
Update-D365FOSystemUser -Update @{Enabled = 'False'} -UserID 'TimR'
"--batchresponse_dd46a8bf-5041-4a81-bf33-a5fafa3c94ac\r\nContent-Type: multipart/mixed; boundary=changesetresponse_f3cb9a22-8c26-444a-993f-2a1c72b32b03\r\n\r\n--changesetresponse_f3cb9a22-8c26-444a-993f-2a1c72b32b03\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 1\r\n\r\nHTTP/1.1 204 No Content\r\n\r\n\r\n--changesetresponse_f3cb9a22-8c26-444a-993f-2a1c72b32b03--\r\n--batchresponse_dd46a8bf-5041-4a81-bf33-a5fafa3c94ac--\r\n"
Get-D365FOSystemUsers | Where-Object {$_.UserId -eq 'TimR'} | Select-Object -Property UserId, Alias, Enabled
UserID Alias Enabled
------ ----- -------
TimR t.rite@darrenjrobinson.com False
$addRole = [pscustomobject][ordered]@{
UserId = 'darrenjrobinson'
SecurityRoleIdentifier = 'HCMMANAGER'
AssignmentStatus = 'Enabled'
AssignmentMode = 'Manual'
SecurityRoleName = 'Manager'
}
Add-D365FORoleToSystemUser -Role $addRole
"--batchresponse_760ecb25-9b01-471d-84ed-13ef67b2c638\r\nContent-Type: multipart/mixed; boundary=changesetresponse_f73fc1da-13ec-4feb-b7a5-4bfc0eb3ce51\r\n\r\n--changesetresponse_f73fc1da-13ec-4feb-b7a5-4bfc0eb3ce51\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 1\r\n\r\nHTTP/1.1 201 Created\r\nETag: W/\"JzEsNTYzODkwMDAzMSc=\"\r\nLocation: https://d365foperfpoc3ff96227df736db3devaos.cloudax.dynamics.com/data/SecurityUserRoleAssociations(UserId='darrenjrobinson',SecurityRoleIdentifier='HCMMANAGER')\r\nContent-Type: application/json; odata.metadata=minimal\r\nOData-Version: 4.0\r\n\r\n{\r\n \"@odata.context\":\"https://d365foperfpoc3ff96227df736db3devaos.cloudax.dynamics.com/data/$metadata#SecurityUserRoleAssociations/$entity\",\"@odata.etag\":\"W/\\\"JzEsNTYzODkwMDAzMSc=\\\"\",\"UserId\":\"darrenjrobinson\",\"SecurityRoleIdentifier\":\"HCMMANAGER\",\"AssignmentStatus\":\"Enabled\",\"AssignmentMode\":\"Manual\",\"SecurityRoleName\":\"Manager\"\r\n}\r\n--changesetresponse_f73fc1da-13ec-4feb-b7a5-4bfc0eb3ce51--\r\n--batchresponse_760ecb25-9b01-471d-84ed-13ef67b2c638--\r\n"
Get-D365FOSecurityUserRoleAssociations | Where-Object {$_.UserId -eq 'darrenjrobinson'}
@odata.etag : W/"JzEsNTYzODkwMDAxNic="
UserId : darrenjrobinson
SecurityRoleIdentifier : SYSTEMUSER
AssignmentStatus : Enabled
AssignmentMode : Manual
SecurityRoleName : System user
@odata.etag : W/"JzEsNTYzODkwMDAyMCc="
UserId : darrenjrobinson
SecurityRoleIdentifier : -SYSADMIN-
AssignmentStatus : Enabled
AssignmentMode : Manual
SecurityRoleName : System administrator
@odata.etag : W/"JzEsNTYzODkwMDAzMSc="
UserId : darrenjrobinson
SecurityRoleIdentifier : HCMMANAGER
AssignmentStatus : Enabled
AssignmentMode : Manual
SecurityRoleName : Manager
Remove-D365FORoleFromSystemUser -SecurityRoleIdentifier 'HCMMANAGER' -UserId 'darrenjrobinson'
"--batchresponse_6bdf379c-d58d-48a5-bf09-257ba501d469\r\nContent-Type: multipart/mixed; boundary=changesetresponse_a5e77f5c-61a3-4a40-9b88-4795ba74c504\r\n\r\n--changesetresponse_a5e77f5c-61a3-4a40-9b88-4795ba74c504\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 1\r\n\r\nHTTP/1.1 204 No Content\r\n\r\n\r\n--changesetresponse_a5e77f5c-61a3-4a40-9b88-4795ba74c504--\r\n--batchresponse_6bdf379c-d58d-48a5-bf09-257ba501d469--\r\n"
Get-D365FOSecurityUserRoleAssociations | Where-Object {$_.UserId -eq 'darrenjrobinson'}
@odata.etag : W/"JzEsNTYzODkwMDAxNic="
UserId : darrenjrobinson
SecurityRoleIdentifier : SYSTEMUSER
AssignmentStatus : Enabled
AssignmentMode : Manual
SecurityRoleName : System user
@odata.etag : W/"JzEsNTYzODkwMDAyMCc="
UserId : darrenjrobinson
SecurityRoleIdentifier : -SYSADMIN-
AssignmentStatus : Enabled
AssignmentMode : Manual
SecurityRoleName : System administrator
Update-D365FOSystemUser -Update @{Enabled = 'False'} -UserID 'TimR'
"--batchresponse_dd46a8bf-5041-4a81-bf33-a5fafa3c94ac\r\nContent-Type: multipart/mixed; boundary=changesetresponse_f3cb9a22-8c26-444a-993f-2a1c72b32b03\r\n\r\n--changesetresponse_f3cb9a22-8c26-444a-993f-2a1c72b32b03\r\nContent-Type: application/http\r\nContent-Transfer-Encoding: binary\r\nContent-ID: 1\r\n\r\nHTTP/1.1 204 No Content\r\n\r\n\r\n--changesetresponse_f3cb9a22-8c26-444a-993f-2a1c72b32b03--\r\n--batchresponse_dd46a8bf-5041-4a81-bf33-a5fafa3c94ac--\r\n"
Get-D365FOSystemUsers | Where-Object {$_.UserId -eq 'TimR'} | Select-Object -Property UserId, Alias, Enabled
UserID Alias Enabled
------ ----- -------
TimR t.rite@darrenjrobinson.com False
Recently under the experimental Azure Functions build Microsoft Developer Advocates have shown enabling Azure Functions…
Today, I’m super excited to finally announce the Beta release of EntraPulse Lite – a…
I'm excited to share some significant authentication enhancements I've contributed to the Lokka MCP Server…
Last month I had the pleasure of speaking at the Sydney event for Global Azure.…
Model Context Protocol (MCP) is a powerful framework that extends AI clients like Claude and…
I've just completed participating in the Azure AI Developer Hackathon that was looking to provide…
This website uses cookies.
View Comments