C# 地图网络驱动器不带';净使用';,以及以安全的方式提供凭据

C# 地图网络驱动器不带';净使用';,以及以安全的方式提供凭据,c#,.net,networking,network-drive,C#,.net,Networking,Network Drive,我想将网络驱动器映射为其他用户。我使用了“net use”命令,但我必须以纯文本形式提供密码,才能使其正常工作 是否有任何映射网络驱动器的方法可以将pw作为安全字符串传递 我试图产生一个新的流程,并为流程本身提供基本要素,但这不起作用 processproc=newprocess(); proc.StartInfo.FileName=“net.exe”; proc.StartInfo.Domain=Credentials.DomainNameShort; proc.StartInfo.UserN

我想将网络驱动器映射为其他用户。我使用了“net use”命令,但我必须以纯文本形式提供密码,才能使其正常工作

是否有任何映射网络驱动器的方法可以将pw作为安全字符串传递

我试图产生一个新的流程,并为流程本身提供基本要素,但这不起作用

processproc=newprocess();
proc.StartInfo.FileName=“net.exe”;
proc.StartInfo.Domain=Credentials.DomainNameShort;
proc.StartInfo.UserName=Credentials.UserName;
proc.StartInfo.Password=Credentials.SecurePassword;
proc.StartInfo.UseShellExecute=false;
proc.StartInfo.CreateNoWindow=true;
proc.StartInfo.Arguments=$@“使用\\{hostName}/user:{Credentials.DomainNameShort}{Credentials.UserName}{LoginCredentials.Decrypt(Credentials.EncryptedPassword)}/persistent:no”;
我的预期结果是,如果我将密码提供给进程,我就不需要为网络使用提供密码,但它不起作用


任何帮助都将不胜感激。

您不需要在Windows域中提供凭据。客户端和服务器都知道用户是谁。您所需要做的就是确保您想要的用户能够访问网络共享,最好是通过组权限。在非域计算机中,有一些不使用密码的方法,但实际问题是“为什么它们不在域中?”@PanagiotisKanavos感谢您的回答。问题是,当前用户没有查看网络驱动器的权限。只有特定用户才有权限,我必须提供特定用户的凭据,否则将使用普通windows凭据,这些凭据在网络驱动器上没有权限。然后向用户授予权限。这是正常的、简单的、安全的、法规规定的做事方式:“特殊”账户意味着没有可追溯性或责任。不要介意,对于“特殊”帐户,不可能及时撤销访问权限。另一方面,如果您向域组授予权限并将用户添加到该域组,则添加/撤销访问权限与从组中添加/删除帐户一样简单。这是您可以在任何域计算机上使用管理tools@PanagiotisKanavos不幸的是,这不是我的决定。我只负责映射驱动器,而不传递纯文本密码。您知道我的问题是否有解决方案,而不授予网络驱动器的正常用户权限?