我要在域中有台服务器Copy文件到本机,我本机用户对此目录文件
(\\172.16.20.12\e$\CCL_Development)有读写权限,可以Copy,Delete文件。我想让程序每天自动执行Copy的动作,当我本机用户登陆出来以后,登陆用户
注销了,程序也就自动退出了,没法执行了。我把程序做成了服务,只要开机程序就会运行,但是系统用户(system)就没权
限操作。哪位朋友有好的解决方案,多谢了。
(\\172.16.20.12\e$\CCL_Development)有读写权限,可以Copy,Delete文件。我想让程序每天自动执行Copy的动作,当我本机用户登陆出来以后,登陆用户
注销了,程序也就自动退出了,没法执行了。我把程序做成了服务,只要开机程序就会运行,但是系统用户(system)就没权
限操作。哪位朋友有好的解决方案,多谢了。
不行啊,只能部分人才能有权限.TO:chouer523(chouer)
如果能这样就好了
在Copy文件之前先用有权限的账号登陆,然后用此账号操作。
就象在SQL语句中连接另外一台服务器那样。
eg:
select * from OPENDATASOURCE('SQLOLEDB','Data Source=172.16.21.175;User ID=sa;Password='')CCLHRDB.dbo.emp1000cC#能不能实现像这样的功能。
如果可以的话就好办了
{
string str_LogoOn = "net use " + str_Directory + " /user:" + str_UserName + " \"" + str_Password + "\"";
string str_OpenDirectory = "start " + str_Directory; 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(str_OpenDirectory);
p_Tmp.StandardInput.WriteLine("exit");
p_Tmp.Close();
p_Tmp.Dispose(); string[] files = Directory.GetFiles(fromDirectory);
if (files.Length > 0)
{
foreach (string s in files)
{
FileInfo objFI = new System.IO.FileInfo(s);
File.Copy(str_Directory + "\\" + objFI.Name.ToString(), to_Directory + "\\" + objFI.Name.ToString());
}
}
}
自己搞定