NT Authority \ Anonymous Logon создает соединение через WMI Connection с веб-сервера - PullRequest
0 голосов
/ 11 марта 2019

У меня есть веб, приложение, сервер БД Сервер приложений, на котором установлен Exe, будет выполнять некоторые операции. когда я пытаюсь запустить Exe, который находится на сервере приложений через WMI-соединение с веб-сервера, пожалуйста, используйте код ниже

     public void RunProcessOnRemoteMachine(string inputFolder, string ProcessName, string AppRun, string isRegression, string TemplateID, string isPreProcess, string UserLoginName, string DocYear,string remoteMachine,string strPathToTheExe)
    {
        string usernameAndDomain = "";
        string password = "";
        try
        {
            ConnectionOptions connOptions = new ConnectionOptions();
            connOptions.Impersonation = ImpersonationLevel.Impersonate;
            connOptions.EnablePrivileges = true;
            if (Environment.MachineName.ToUpper() != remoteMachine.ToUpper())
            {

            }
            ManagementScope manScope = new ManagementScope(String.Format(@"\\{0}\ROOT\CIMV2", remoteMachine), connOptions);
            manScope.Connect();
             ObjectGetOptions objectGetOptions = new ObjectGetOptions();
            ManagementPath managementPath = new ManagementPath("Win32_Process");
            ManagementClass processClass = new ManagementClass(manScope, managementPath, objectGetOptions);
            ManagementBaseObject inParams = processClass.GetMethodParameters("Create");
            inParams["CommandLine"] = strPathToTheExe + " " + "\"" + inputFolder + "\" \"" + ProcessName + "\" \"" + AppRun + "\" \"" + isRegression + "\" \"" + TemplateID + "\" \"" + isPreProcess + "\" \"" + UserLoginName + "\" \"" + DocYear+"\""; 
            ManagementBaseObject outParams = processClass.InvokeMethod("Create", inParams, null );
                Cls_ErrorLog.Writelog("Creation of the process returned: " + outParams["returnValue"]);
            Cls_ErrorLog.Writelog("Process ID: " + outParams["processId"]);
        }
        catch (Exception ex)
        {
            Cls_ErrorLog.Writelog("Exception occured in method RunProcessOnRemoteMachine : " + ex.Message + " - " + ex.StackTrace);
        }
        finally
        {

        }

    }

Я установил Integrated Security = True в моей конфигурации Exe Config и Web, а также добавил этого пользователя в Sql Server Logins и дал права.

После того, как было установлено Соединение, которое EXe работает с теми же учетными данными (что мы установили в Identity в IIS) в Appserver, но ему не удалось подключиться к соединению с базой данных с теми же учетными данными

выдает Ошибка входа для пользователя 'NT AUTHORITY \ ANONYMOUS LOGON . но когда мы отслеживаем исполняемый файл с теми же учетными данными

когда мы запускаем Exe вручную на сервере приложений, он работает

Поэтому, пожалуйста, предложите решения Заранее спасибо

...