我在远程机器上添加了一个共享文件夹,给指定的一个用户添加了写权限。我要用C#在这个共享文件夹中创建一个文件,如何才能以制定的域用户名和密码在这个共享文件夹中创建文件?请教高手,被郁闷好久了。

解决方案 »

  1.   

    可以用DOS命令中 net use 来建立用户连接,建立完毕后,net .../delete就是了。DOS命令做这类事情,实际上比程序都快,也稳定,呵呵~~
    ===================================================================
    如何用.NET的Process编写在DOS命令提示符(CMD)下要运行的命令???
    C#
    Process.Start("cmd.exe", "/k dir");
    Vb.Net
    Process.Start("cmd.exe", "/k dir")或者拆开写Dim p As New Process
    p.StartInfo.FileName = "cmd.exe"
    p.StartInfo.CreateNoWindow = True
    p.StartInfo.UseShellExecute = False
    p.StartInfo.RedirectStandardError = True
    'p.StartInfo.Arguments = "dos命令"
    p.Start()
    c#中的Process类可方便的调用外部程序,所以我们可以通过调用cmd.exe程序
    http://www.vipcn.com/InfoView/Article_90062.html
    加入参数 "/c " + 要执行的命令来执行一个dos命令
    (/c代表执行参数指定的命令后关闭cmd.exe /k参数则不关闭cmd.exe)         private string RunCmd(string command)
             {
                  //實例一個Process類,啟動一個獨立進程
                  Process p = new Process();
      
                  //Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:
      
                  p.StartInfo.FileName = "cmd.exe";           //設定程序名
                  p.StartInfo.Arguments = "/c " + command;    //設定程式執行參數
                  p.StartInfo.UseShellExecute = false;        //關閉Shell的使用
                   p.StartInfo.RedirectStandardInput = true;   //重定向標準輸入
                 p.StartInfo.RedirectStandardOutput = true;  //重定向標準輸出
                 p.StartInfo.RedirectStandardError = true;   //重定向錯誤輸出
                 p.StartInfo.CreateNoWindow = true;          //設置不顯示窗口
     
                 p.Start();   //啟動
                 
                 //p.StandardInput.WriteLine(command);       //也可以用這種方式輸入要執行的命令
                 //p.StandardInput.WriteLine("exit");        //不過要記得加上Exit要不然下一行程式執行的時候會當機
                 
                 return p.StandardOutput.ReadToEnd();        //從輸出流取得命令執行結果
              }或者VB.Net独有的Shell都可以实现类似功能
    ==================================================================
    博客空间:http://blog.csdn.net/lovingkiss
    资源下载:http://download.csdn.net/user/lovingkiss
    Email:loving-kiss@163.com
    优惠接单开发,收费带初学者,组件控件定制开发,成品源代码批发
    联系方式:Q64180940(请清楚注明业务还是技术咨询)  全天在线
    ==================================================================
      

  2.   

    以下仅供参考
    ----------------------
    在目录机器创建webserviceusing LocalNetManager;string BackUpRoot = "D:\Back";
    if(!BackUpRoot.EndsWith(@"\"))BackUpRoot += @"\";
    LocalNetManager.CLocalNetManagerClass clo = new CLocalNetManagerClass();
    通过clo的方法验证用户名密码
    string vmpath = BackUpRoot + "user";
    if(!Directory.Exists(vmpath))
    {
    //创建服务器备份目录
    Directory.CreateDirectory(vmpath);
    }
      

  3.   

    net use这个方法我清楚,但是需要判断文件夹是否存在,很多操作,不方便使用
      

  4.   

    多谢 rtsp(自命不凡)
    请问LocalNetManager这个类名字空间在哪个名字空间下面没有找到。
    google一下怎么也没有?
      

  5.   

    个人认为net use是最好用的了
    如果你不喜欢可以参考一下WMI
      

  6.   

    如果想要使用比较纯的C#代码来实现,可以使用ConnectionOptions 类
      

  7.   

    对共享文件的操作很多,不知道sharepoint到底用的哪个账户运行。
    Net use是不好用。不是不想用。
    试一下ConnectionOptions,多谢楼上的几位。不知道还有什么好办法没有