I am creating db users via a web application like so:
try
{
SetConnection(server);
string sql =
"USE [master]" +
" CREATE LOGIN" + " [TP1\\" + user + "] FROM WINDOWS WITH DEFAULT_DATABASE=[master], " +
"DEFAULT_LANGUAGE=[us_english] " +
"EXEC sys.sp_addsrvrolemember @loginame = N'TP1\\" + user + "', @rolename = N'sysadmin'";
_tableContext.Database.ExecuteSqlCommand(TransactionalBehavior.DoNotEnsureTransaction, sql);
}
catch (Exception e)
{
// log error
throw e;
}
and it works fine.
I was testing the application and typed in a name that does not exist in WINDOWS-NT and got the followiing error:
Windows NT user or group 'TP1\MyName' not found. Check the name again.\r\n'TP1\MyName' is not a valid login or you do not have permission.\r\nChanged database context to 'master
After some time researching I found that I can SELECT * FROM sysusers
BUT this only shows me if a user is already registered on that server.
I would like to know if there is a way for me to check if the username is a valid NT-user?
This question will be marked as a duplicate but for the purpose of being clear I just wanted to share my specific scenario:
I found the answer here thanks to @SteveDrake.
My implementation :
NOTE I changed the
ContextType
toDomain