Как передать учетные данные в UNC-пути при открытии файла на сетевом ресурсе, для которого требуется имя пользователя / пароль - PullRequest
0 голосов
/ 28 ноября 2018

Я немного потерян здесь.Я искал везде, и не нашел решения, которое имеет смысл для меня.

Моя проблема заключается в том, что мне нужно открыть определенный файл на сетевом ресурсе, но это дает мне исключение, что мое имя пользователя или пароль неверны.

Я указал путь UNCв переменную:

protected internal static string demoPath846 = @"\\10.90.1.73\XMODemoer\XMO846";

А затем этот код для доступа и запуска файла по пути:

File.WriteAllText(demoPath846 + @"\xmo.ini", "[system]\r\nInstanceid=846\r\nconnectionstring=" + constr846 + "\r\n[environment]\r\nA6_DRV_EDI=" + demoPath846 + "\\edi\\ \r\nA6_DRV_USER=" + demoPath846 + "\r\n\r\n[update]\r\nurl=http://10.10.62.104/xmoads/1.0 \r\ntimeout=86400000");
        string startfile846 = demoPath846 + @"\xmo.exe"; 

        Process p = new Process();
        p.StartInfo.UseShellExecute = false;
        p.StartInfo.WorkingDirectory = demoPath846;
        p.StartInfo.FileName = startfile846;
        p.Start();

1 Ответ

0 голосов
/ 28 ноября 2018

Вы не вводите имена пользователей и пароли в пути.Вы хотите сделать что-то вроде этого ...

using (UNCAccessWithCredentials unc = new UNCAccessWithCredentials())
{
    if (unc.NetUseWithCredentials(uncpath, user, domain, password))
    {
        //Access your file here...
    }
    else
    {
        // The connection has failed. Use the LastError to get the system error code
        MessageBox.Show("Failed to connect to " + tbUNCPath.Text + 
                        "\r\nLastError = " + unc.LastError.ToString(),
                        "Failed to connect",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
    }
}

* Пример взят из Код проекта

...