【发布时间】:2012-03-14 09:56:23
【问题描述】:
我使用以下命令连接到网络共享:
NET USE \Machine1 /user:MyDomain\MyUser MyPassword
我以编程方式使用 C# 代码(使用 Process.Start)
ProcessStartInfo psi = new ProcessStartInfo("NET");
string[] userTokens = usuario.Split('\\');
if (userTokens.Length == 2)
{
psi.Arguments = @"USE \\" + maquina + " /user:" + usuario + " " + pwd;
}
else
{
psi.Arguments = @"USE \\" + maquina + " /user:" + maquina + "\\" + usuario + " " + pwd;
}
psi.UseShellExecute = false;
psi.ErrorDialog = false;
psi.RedirectStandardOutput = true;
//psi.RedirectStandardInput = true;
psi.RedirectStandardError = true;
psi.CreateNoWindow = true;
using (Process pr = Process.Start(psi))
{
//StreamWriter sw = pr.StandardInput;
//sw.AutoFlush = true;
sr = pr.StandardOutput;
serr = pr.StandardError;
string salida = "";
pr.WaitForExit(300000);
salida += sr.ReadToEnd();
salida += Environment.NewLine;
salida += serr.ReadToEnd();
salida += Environment.NewLine;
Trace.WriteLine("ConectarServidor. NET USE " + maquina + " " + usuario + Environment.NewLine
+ " Salida: " + salida.Trim());
if (salida.Contains("error 1219")
|| salida.Contains("Error de sistema 1219"))
{
// Path is already connected
Trace.WriteLine("Error Net Use 1219: Path is already connected");
TratamientoErrorNetUse1219(maquina, usuario, pwd);
}
else if (salida.Contains("error 86"))
{
//'Incorrect Password
Trace.WriteLine("Error Net Use 86: Incorrect Password");
}
}
有时会出现这样的错误:
同一用户与服务器或共享资源的多个连接, 不允许使用多个用户名。断开所有 以前与服务器或共享资源的连接,然后重试。
我想以编程方式删除连接(到网络共享):
net use(查看所有现有连接)
net use * /del /yes(删除所有现有连接)
我尝试了这个命令,但与 net use 不兼容:
NET USE \Machine1 /del /yes /user:MyDomain\MyUser MyPassword
网络使用 * /del /yes /user:MyDomain\MyUser MyPassword
有什么建议吗?
【问题讨论】:
标签: c# .net networking command-line passwords