Hi Readers,
Most of you may not want to see this, but I would like to keep this information for me.
As most of you know that I live and breath Upgrades for Dynamics NAV / Business Central.
Currently I am upgrading a customer from NAV 4 Native to Business Central. As its challenging there is so much learning too.
#DynamicsNAV
Customer is using database logins and they had so many users. As I knew that I will have to port them to windows login sooner than later so why not now.
I started thinking easy way to do it.
Here is the way -
1. Asked Customer for User mapping - Database user name & Windows User Name.
2. Import that data in a temp table using Dataport and write a script to create windows account in database and also copy assigned Roles from database user to Windows User.
The only problem that I faced was - Windows Login (2000000054) have primary key SID.
I know I had done those conversions in future versions of the product, but how you do that in NAV 4.
To My surprise after little bit of searching I found out that there was a virtual table - "SID - Account ID".
With this virtual table you can get the SID for a Windows User Account (ID).
Sample Code -
SIDAccountID.SETCURRENTKEY(ID); // This line is important. Set it to ID if you want to find SID
SIDAccountID.ID := 'DOMAIN\USERNAME';
IF SIDAccountID.FIND THEN
MESSAGE('%1\%2', SIDAccountID.ID, SIDAccountID.SID);
Hope this article helps you.
I am sure I will have so many learnings with this project. If I find something useful, I will share that.
Read More about SID- Account ID Virtual Table here.
Mibuso Article
Regards,
Saurav Dhyani
https://www.sauravdhyani.com/
Most of you may not want to see this, but I would like to keep this information for me.
As most of you know that I live and breath Upgrades for Dynamics NAV / Business Central.
Currently I am upgrading a customer from NAV 4 Native to Business Central. As its challenging there is so much learning too.
#DynamicsNAV
Customer is using database logins and they had so many users. As I knew that I will have to port them to windows login sooner than later so why not now.
I started thinking easy way to do it.
Here is the way -
1. Asked Customer for User mapping - Database user name & Windows User Name.
2. Import that data in a temp table using Dataport and write a script to create windows account in database and also copy assigned Roles from database user to Windows User.
The only problem that I faced was - Windows Login (2000000054) have primary key SID.
I know I had done those conversions in future versions of the product, but how you do that in NAV 4.
To My surprise after little bit of searching I found out that there was a virtual table - "SID - Account ID".
With this virtual table you can get the SID for a Windows User Account (ID).
Sample Code -
SIDAccountID.SETCURRENTKEY(ID); // This line is important. Set it to ID if you want to find SID
SIDAccountID.ID := 'DOMAIN\USERNAME';
IF SIDAccountID.FIND THEN
MESSAGE('%1\%2', SIDAccountID.ID, SIDAccountID.SID);
Hope this article helps you.
I am sure I will have so many learnings with this project. If I find something useful, I will share that.
Read More about SID- Account ID Virtual Table here.
Mibuso Article
Regards,
Saurav Dhyani
https://www.sauravdhyani.com/
Informative Blog Sir 👍
ReplyDelete