Process.Start и «Системе не удается найти указанный путь» - PullRequest
0 голосов
/ 29 ноября 2011

Я пытаюсь запустить консольное приложение с сопоставленного диска (T: \ - сопоставленный диск для общей сетевой папки) и получаю сообщение об ошибке:

Системе не удается найти указанный путь.

Почему я получаю эту ошибку?Учетные данные администратора верны.

var password = new SecureString();
password.AppendChar(Convert.ToChar("P"));
password.AppendChar(Convert.ToChar("a"));
password.AppendChar(Convert.ToChar("a"));
password.AppendChar(Convert.ToChar("s"));
Process.Start(@"t:\ca\test.exe"), "", "Administrator", password, "domain");

1 Ответ

0 голосов
/ 29 ноября 2011

Проверьте, правильно ли сопоставлен диск T: для учетной записи Administrator.

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

Вы также можете попробовать следующее, начиная с cmd.exe, отображая свой UNC-путь и затем вызывая приложение:

var password = new SecureString();
password.AppendChar(Convert.ToChar("P"));
password.AppendChar(Convert.ToChar("a"));
password.AppendChar(Convert.ToChar("a"));
password.AppendChar(Convert.ToChar("s"));

var startInfo = new ProcessStartInfo();

startInfo.FileName = "cmd.exe";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
startInfo.UserName = "Administrator";
startInfo.Password = password;
startInfo.Domain = "domain";

var process = Process.Start(startInfo);

process.BeginOutputReadLine();
process.StandardInput.WriteLine(@"pushd \\your_unc_path\ca");
process.StandardInput.WriteLine("test.exe");
process.StandardInput.WriteLine("exit");

process.WaitForExit();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...