高手请进,如何通过windows服务访问网络资源(局域网内共享的文件夹)

billqi 2006-01-06 11:02:38
1,windows本地服务localsystem帐户默认对本地操作系统具有最高操作权限,但是却不能对网络资源
访问。
2,经过测试发现用windows服务不能访问网络共享文件夹,同样的程序在windows应用程序及控制台程序中运行却可以。
3,测试代码
/// <summary>
/// 执行本地命令
/// </summary>
/// <param name="aMethodName"></param>
private void execute(string aMethodName)
{
string ShareDir="\\172.26.230.2\software1";
string UID="administrator";
string PWD="go";
aMethodName = @"net use "+ShareDir+" /user:"+UID+" "+PWD;
Process p_Tmp = new Process();
p_Tmp.StartInfo.RedirectStandardError = true;
p_Tmp.StartInfo.RedirectStandardInput = true;
p_Tmp.StartInfo.RedirectStandardOutput = true;
p_Tmp.StartInfo.UseShellExecute = false;
p_Tmp.StartInfo.CreateNoWindow = true;
p_Tmp.StartInfo.FileName = "cmd.exe";
p_Tmp.Start();
p_Tmp.StandardInput.WriteLine(str_LogoOn);
p_Tmp.StandardInput.WriteLine("exit");
p_Tmp.Close();
p_Tmp.Dispose();
File.Create(@ShareDir+"\2.txt");
}

4,异常信息

System.UnauthorizedAccessException: 拒绝访问。
at Lanyou.QClient.QMonitor.test()
at Lanyou.QClient.QMonitor.OnStart(String[] args)

4,向各位大侠请教,敬请多多指点!
...全文
217 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
billqi 2006-01-12
  • 打赏
  • 举报
回复
自己顶一下。
billqi 2006-01-07
  • 打赏
  • 举报
回复
string UID="administrator";
改为:string UID="sever\administrator";可以保证在window2003下运行,但是在2000下运行出现同样的错误!
billqi 2006-01-07
  • 打赏
  • 举报
回复
修改帐户没有作用。
胖河马 2006-01-06
  • 打赏
  • 举报
回复
在管理工具\服务中修改一下帐户
lidong6 2006-01-06
  • 打赏
  • 举报
回复
把服务改为在administrator用户下运行.
zhaiyf 2006-01-06
  • 打赏
  • 举报
回复
关注,帮你顶一下吧,问题很有价值。
zhaiyf 2006-01-06
  • 打赏
  • 举报
回复
关注,帮你顶一下吧,问题很有价值。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧