C# .Net Framework 1.1 で開発された Windows サービス内から次のコマンド ラインを使用しています。
net use z: \\myComputer\c$
サービスは、「myComputer」のローカル管理者であるドメイン アカウントで実行されています。コードをデバッグすると、エラーは返されませんが、「z:」ドライブがマップされていないことがわかります。コンソール アプリケーションからまったく同じコードを試したところ、正しく動作しました。これを機能させるには、サービスに何を追加する必要がありますか?
私たちが使用しているコードは以下に含まれています。
よろしく、
セルジオ
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();