Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom Database in BCContainerHelper License and authenticating Issue #3486

Open
seesharp54 opened this issue Apr 12, 2024 · 1 comment
Open
Assignees

Comments

@seesharp54
Copy link

We have got a customer database that i have restored in my host system and connected it to a docker container and i am at a point that the database is hosted at my docker hosting OS on a MSSQLServer instance, the connection is working and the container is getting started and BC is accessible. After a long fight with getting the service working from the docker container to the database on the docker host OS, i am now facing a problem with creating users in BC. The problem in my opinion is, that the license does not allow any access from outside by just setting a new user to BC. The customer is using a AccessControlService instead of an regular Windows or UserPassword authentication, and this may could a problem to. To reproduce an own AccessControlService for a docker container is a lot of effort.
I have also tried a lot by editing the User Table with MS SQL: Tried to reduce the Users from Full to Limited Users by setting the License Typ from 0 to 1, hoping that the script notices that there are less than 10 full users. But it seems that the the information that there are no full user slots available is causing from something else and it is not checking whats in the BC User Table.
So the problem in quick:
User Authentication to BC doesnt work. I have tried to solve it by setting up new BCContainerBCUser but this command doesnt work. Using New-BCContainerWindowsUser is working and is setting up something but the authentication still isnt working. I have also tried to use a cronus license but then the error change from 10 to 2 full users. Still no authentication.
In a next stop i will try to clear the BC User Table by MSSQL completely to check if the license error still exist. Well knowing, that this operation is not recommendable for consistent data.

Questions:

  1. Whats the difference between the New-BCContainerWindowsUser and New-BCContainerBCUser?
    Where is the connection built up in New-BCContainerWindowsUser from the Windows Security ID field in BC to the docker intern Windows User?
  2. Is New-BCContainerWindowsUser only creating an Windows User in the Docker Container? Where am i able to see which users are active in the docker windows container?
  3. Is this a customer license specific problem?
  4. In the Customer Environment the CredentialType is not a Windows or UserPassword, it is hosted with an AccessControlService. Does it affect anything on authenticating to BC in the Docker Container with Windows or UserPassword? How to adapt the AccessControlService to the Docker Container?
  5. While the container is starting up the log says something of Health check returns False, restarting container . What is this health check and why it is not returning true?

Thank you for your help and any solution suggestions.

Scripts used to create container and cause the issue

#$auth = "Windows"
$auth = "UserPassword"
$licensefile = 'C:\Users\seesharp\Cronus.flf'
$SQLPassword = ConvertTo-SecureString -String "DBpassword" -AsPlainText -Force
$BCpassword = ConvertTo-SecureString -String "adminp@ssword!" -AsPlainText -Force
$credential = New-Object pscredential -ArgumentList 'admin', $BCpassword
$artifactUrl = Get-BcArtifactUrl -version '18.0.23013.23795' -type 'onprem' -country 'de' -select 'closest'  

$containerName = "bc-containername"

$databaseParams = @{
    "databaseServer" = 'host.containerhelper.internal'
    "databaseInstance" = ''
    "databaseName" = 'CustomerDB-Test'
    "databaseCredential" = New-Object pscredential 'DBAdmin', $SQLPassword
    "multitenant" = $false
}

New-BcContainer @databaseParams `
    -accept_eula `
    -containerName $containerName `
    -auth $auth `
    -assignPremiumPlan `
    -artifactUrl $artifactUrl `
    -credential $credential `
    -updateHosts

$credential = New-Object pscredential 'admin', (ConvertTo-SecureString -String 'adminp@ssword!' -AsPlainText -Force)
New-BcContainerBcUser -containerName "bc-containername" -Credential $credential -PermissionSetId "SUPER" 

Full output of scripts



Initialization took 416 seconds
Ready for connections!
Reading CustomSettings.config from bc-containername
Creating Desktop Shortcuts for bc-containername
Container bc-containername successfully created
**Health check returns False, restarting container**
Removing Session bc-containername
bc-containername
Waiting for container bc-containername to be ready


PS C:\Users\seesharp>     $credential = New-Object pscredential 'admin', (ConvertTo-SecureString -String 'adminp@ssword!' -AsPlainText -Force)
New-BcContainerBcUser -containerName "bc-containername" -Credential $credential -PermissionSetId "SUPER" 
Creating User admin
The new users do not meet the terms of the current license. The current license allows 10 full users and 0 limited user
s.

Exception Script Stack Trace:
at <ScriptBlock>, <No file>: line 59

PowerShell Call Stack:
bei Invoke-ScriptInBcContainer, C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\6.0.12\ContainerHandling\I
nvoke-ScriptInNavContainer.ps1: Zeile 87
bei New-BcContainerBcUser, C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\6.0.12\UserHandling\New-NavCont
ainerNavUser.ps1: Zeile 60
bei <ScriptBlock>, <Keine Datei>: Zeile 2

Container Free Physical Memory: 5.7Gb

Services in container bc-containername:
- MicrosoftDynamicsNavServer$BC is Running
- MSSQL$SQLEXPRESS is Stopped


Relevant event log from container bc-containername:
- 20240412 10:30:10 - MicrosoftDynamicsNavServer$BC

  Server instance: BC
  Category: Security
  ClientSessionId: 4ffa2ab9-777f-418e-be22-af0695c80edd
  ClientActivityId: e19c5592-b015-40bc-9f94-c4252a798d8f
  ServerSessionUniqueId: 1310be0a-a9e5-42f3-ac5f-f302cf43bac9
  ServerActivityId: b4a342b6-4433-4cab-8992-9e20928a984b
  EventTime: 04/12/2024 08:30:10
  Message (FaultException`1): This message had personal data removed. The original may still be in transient telemetry.
 Find it using the transientTelemetryId.
  NewUser(String, String, NavUserState, DateTime, String, Boolean, LicenseType, String, String, Boolean, DateTime, Stri
ng, String, String, Guid, String, String, Nullable`1) FAILURE.
  RootException: FaultException`1
  ExceptionStackTrace:
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.ErrorMappingCombinator(ServiceOperation innerOperation, 
NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.PushPopCombinator(ServiceOperation innerOperation, NSSer
viceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.TelemetryCombinator(Category telemetryCategory, Verbosit
y telemetryVerbosity, ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] i
nputs, Object[]& outputs)
  CallerStackTrace:
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.TelemetryCombinator(Category telemetryCategory, Verbosit
y telemetryVerbosity, ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] i
nputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.ErrorMappingCombinator(ServiceOperation innerOperation, 
NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.PushPopCombinator(ServiceOperation innerOperation, NSSer
viceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.TelemetryCombinator(Category telemetryCategory, Verbosit
y telemetryVerbosity, ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] i
nputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass6_0.<Create>b__0(ServiceOperation opera
tion, NSServiceBase instance, MethodBase syncMethodLocal, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationTracer.TraceScopeCombinator(Category telemetryCategory, ServiceO
peration innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass10_0.<PerformanceCounterCombinator>b__0
()
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.PerformanceCounterCombinator(ServiceOperation innerOpera
tion, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.InitClientTelemetryIdsCombinator(ServiceOperation innerO
peration, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.TlsClearCombinator(ServiceOperation innerOperation, NSSe
rviceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outpu
ts)
     at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
     at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
     at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
     at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
     at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThrea
d, OperationContext currentOperationContext)
     at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOpe
rationContext)
     at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
     at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result)
     at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
     at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
     at System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult result)

     at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
     at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
     at System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(Object state)
     at System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(Object state)
     at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
     at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
     at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
     at System.Net.Security.NegotiateStream.ProcessFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count,
 AsyncProtocolRequest asyncRequest)
     at System.Net.Security.NegotiateStream.ReadCallback(AsyncProtocolRequest asyncRequest)
     at System.Net.AsyncProtocolRequest.CompleteRequest(Int32 result)
     at System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(Int32 bytes)
     at System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult)
     at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
     at System.ServiceModel.Channels.ConnectionStream.IOAsyncResult.OnAsyncIOComplete(Object state)
     at System.Net.Sockets.SocketAsyncEventArgs.OnCompleted(SocketAsyncEventArgs e)
     at System.Net.Sockets.SocketAsyncEventArgs.FinishOperationSuccess(SocketError socketError, Int32 bytesTransferred,
 SocketFlags flags)
     at System.Net.Sockets.SocketAsyncEventArgs.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlap
ped* nativeOverlapped)
     at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOve
rlapped* pOVERLAP)
  
  
  ProcessId: 21580
  Tag: 00000ZX
  ThreadId: 93
  CounterInformation: 
  CustomParameters: {
  }
  GatewayCorrelationId: 92cec8b2-187d-4805-83ed-449c4df69a5f

- 20240412 10:30:10 - MicrosoftDynamicsNavServer$BC

  Server instance: BC
  Category: Security
  ClientSessionId: 4ffa2ab9-777f-418e-be22-af0695c80edd
  ClientActivityId: e19c5592-b015-40bc-9f94-c4252a798d8f
  ServerSessionUniqueId: 1310be0a-a9e5-42f3-ac5f-f302cf43bac9
  ServerActivityId: b4a342b6-4433-4cab-8992-9e20928a984b
  EventTime: 04/12/2024 08:30:10
  Message (FaultException`1): NewUser(String, String, NavUserState, DateTime, String, Boolean, LicenseType, String, Str
ing, Boolean, DateTime, String, String, String, Guid, String, String, Nullable`1) FAILURE.
  RootException: FaultException`1
  The new users do not meet the terms of the current license. The current license allows 10 full users and 0 limited us
ers.
  ExceptionStackTrace:
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.ErrorMappingCombinator(ServiceOperation innerOperation, 
NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.PushPopCombinator(ServiceOperation innerOperation, NSSer
viceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.TelemetryCombinator(Category telemetryCategory, Verbosit
y telemetryVerbosity, ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] i
nputs, Object[]& outputs)
  CallerStackTrace:
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.TelemetryCombinator(Category telemetryCategory, Verbosit
y telemetryVerbosity, ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] i
nputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.ErrorMappingCombinator(ServiceOperation innerOperation, 
NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.PushPopCombinator(ServiceOperation innerOperation, NSSer
viceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.TelemetryCombinator(Category telemetryCategory, Verbosit
y telemetryVerbosity, ServiceOperation innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] i
nputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass6_0.<Create>b__0(ServiceOperation opera
tion, NSServiceBase instance, MethodBase syncMethodLocal, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationTracer.TraceScopeCombinator(Category telemetryCategory, ServiceO
peration innerOperation, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass10_0.<PerformanceCounterCombinator>b__0
()
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.PerformanceCounterCombinator(ServiceOperation innerOpera
tion, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.InitClientTelemetryIdsCombinator(ServiceOperation innerO
peration, NSServiceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.TlsClearCombinator(ServiceOperation innerOperation, NSSe
rviceBase serviceInstance, MethodBase syncMethod, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.<>c__DisplayClass28_1.<Combine>b__1(NSServiceBase servic
eInstance, Object[] inputs, Object[]& outputs)
     at Microsoft.Dynamics.Nav.Service.ServiceOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outpu
ts)
     at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
     at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
     at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
     at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
     at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThrea
d, OperationContext currentOperationContext)
     at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOpe
rationContext)
     at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
     at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result)
     at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
     at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
     at System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult result)

     at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
     at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
     at System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(Object state)
     at System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(Object state)
     at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
     at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
     at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
     at System.Net.Security.NegotiateStream.ProcessFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count,
 AsyncProtocolRequest asyncRequest)
     at System.Net.Security.NegotiateStream.ReadCallback(AsyncProtocolRequest asyncRequest)
     at System.Net.AsyncProtocolRequest.CompleteRequest(Int32 result)
     at System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(Int32 bytes)
     at System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult)
     at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
     at System.ServiceModel.Channels.ConnectionStream.IOAsyncResult.OnAsyncIOComplete(Object state)
     at System.Net.Sockets.SocketAsyncEventArgs.OnCompleted(SocketAsyncEventArgs e)
     at System.Net.Sockets.SocketAsyncEventArgs.FinishOperationSuccess(SocketError socketError, Int32 bytesTransferred,
 SocketFlags flags)
     at System.Net.Sockets.SocketAsyncEventArgs.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlap
ped* nativeOverlapped)
     at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOve
rlapped* pOVERLAP)
  
  
  ProcessId: 21580
  Tag: 00000ZX
  ThreadId: 93
  CounterInformation: 
  CustomParameters: {
  }
  GatewayCorrelationId: 92cec8b2-187d-4805-83ed-449c4df69a5f

New-BcContainerBcUser Telemetry Correlation Id: 52e6ef5d-2a99-4edb-8f76-f467f9d7fb31
The new users do not meet the terms of the current license. The current license allows 10 full users and 0 limited 
users.
In C:\Program 
Files\WindowsPowerShell\Modules\BcContainerHelper\6.0.12\ContainerHandling\Invoke-ScriptInNavContainer.ps1:128 
Zeichen:13
+             throw $errorMessage
+             ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (The new users d... limited users.:String) [], RuntimeException
    + FullyQualifiedErrorId : The new users do not meet the terms of the current license. The current license allows  
   10 full users and 0 limited users.
...
@seesharp54 seesharp54 changed the title Custom Database in BCContainerHelper License amd authenticating Issue Custom Database in BCContainerHelper License and authenticating Issue Apr 15, 2024
@freddydk
Copy link
Contributor

On your questions
New-BcContainerWindowsUser is just creating another Windows user inside the container. Note that containers cannot be domain joined, but they do have their own local users. In order to run Windows Authentication towards a BC Container, we need to create the same Windows user in the container as you are running on the host. We also need to add that user to BC.

New-BcContainerBcUser creates a Business Central user using the cmdlet: New-NavServerUser.

It sounds like the problem simply is that there isn't enough licensed users in the license.
Not sure whether the CRONUS demo license could help you or maybe a partner license?

Otherwise you would have to remove users from the database, which I unfortunately don't know how to do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants