MapNetworkDrive将接受任何密码

时间:2011-04-12 13:02:45

标签: windows windows-7 vbscript wsh

我正在编写一个脚本,用于为我工作的学校的学生提供的Windows笔记本电脑添加网络共享。

脚本是用VBS编写的,并且使用了MapNetworkDrive函数,因此非常简单,只需要两个对话框来询问用户名和密码。但是,当我使用自己的用户名对其进行测试时,它会完全忽略我输入的密码,并且可能使用存储在某处的密码,因为它始终映射驱动器。有谁知道这些凭据存储在Windows 7中的哪个位置? (它没有存储在凭据存储中,我已经检查过了)

1 个答案:

答案 0 :(得分:0)

凭据根本不会存储。相反,Windows使用当前登录用户的凭据来验证与共享资源的连接。也就是说,如果当前登录到本地计算机的用户的用户名和密码与远程计算机上具有相应凭据的用户匹配,则访问权限将是理所当然的。

让我看看能否用一个例子更清楚地解释一下。假设我使用用户名“Cody Gray”和密码“1234”登录我的笔记本电脑。然后,我尝试在桌面计算机上启动与共享资源的连接。由于我的桌面计算机上具有相同的用户名和密码,并且该用户帐户具有足够的权限来远程连接到共享资源,因此我将自动进行身份验证,并自动授予访问权限。但是,如果我尝试连接到我的同事的机器上,我没有帐户,我将被要求提供具有有效访问凭证的用户名和密码。

如果当前登录用户的凭据无法成功验证,则您向WSH MapNetworkDrive方法提供的用户名和密码仅使用 documentation说:

  

strUser的

     
    

可选。表示用户名的字符串值。如果要使用当前用户以外的其他人的凭据映射网络驱动器,则必须提供此参数。

  
     

strPassword

     
    

可选。表示用户密码的字符串值。如果要使用当前用户以外的其他人的凭据映射网络驱动器,则必须提供此参数。

  

简而言之,出于测试目的,您可能会在计算机上创建一个与帐户上的帐户不直接对应的新帐户。如果学生已在服务器上拥有帐户,则没有理由要求他们再次输入用户名和密码; Windows已经知道它是什么,它将自动用于身份验证。