Мы используем следующую командную строку из службы Windows, разработанной на C # .Net Framework 1.1:
net use z: \\myComputer\c$
Служба работает под учетной записью домена, которая является локальным администратором на «myComputer». После отладки кода мы видим, что он не возвращает никаких ошибок, но диск «z:» никогда не отображается. Мы попробовали точно такой же код из консольного приложения, и он работает правильно. Что нужно добавить в Сервис, чтобы эта работа работала?
Код, который мы используем, включен ниже.
С уважением,
Sergio
startInfo.FileName = "net";
startInfo.Arguments = string.Format(@"use {0}: \\{1}\{2}", driveLetter,
computerName, folder).Trim();
startInfo.UseShellExecute = false;
startInfo.RedirectStandardError = true;
proc.EnableRaisingEvents = false;
proc.StartInfo = startInfo;
proc.Start();
// If there is an error during the mapping of the drive, it will be read
// from the StandardError property which is a StreamReader object and
// be fed into the error output parameter.
using(StreamReader errorReader = proc.StandardError)
{
string standardError = string.Empty;
while((standardError = errorReader.ReadLine()) != null)
{
error += standardError + " ";
}
}
proc.WaitForExit();