我正在编写一个脚本,用于将网络共享添加到为我工作的学校的学生提供的windows笔记本电脑上。
该脚本是用VBS编写的,并使用了MapNetworkDrive函数,所以它非常简单,只需要两个对话框,要求输入用户名和密码。但当我用我自己的用户名测试它时,它看起来完全忽略了我输入的密码,并可能使用存储在某个地方的密码,因为它总是映射驱动器。有人知道这些凭据在windows7中的存储位置吗?(没有存储在凭证存储中,我检查过了)
发布于 2011-04-12 14:40:52
凭据根本不会存储在任何地方。相反,Windows使用当前登录用户的凭据来验证与共享资源的连接。也就是说,如果当前登录到本地计算机的用户的用户名和密码与远程计算机上具有适当凭据的用户匹配,则将授予访问权限。
让我看看我是否可以用一个例子更清楚地解释这一点。假设我使用用户名"Cody Gray“和密码"1234”登录到我的笔记本电脑。然后,我尝试启动与台式计算机上的共享资源的连接。由于我在台式计算机上具有相同的用户名和密码,并且该用户帐户有足够的权限远程连接到共享资源,因此将自动对我进行身份验证,并自动授予访问权限。但是,如果我尝试连接到我没有帐户的同事的计算机,我将被要求提供具有有效访问凭据的用户名和密码。
仅当当前登录用户的凭据无法成功进行身份验证时,才使用提供给WSH MapNetworkDrive
方法的用户名和密码。documentation说:
strUser
可选。指示用户名的字符串值。如果要使用当前用户以外的其他用户的凭据映射网络驱动器,则必须提供此参数。strPassword
可选。指示用户密码的字符串值。如果要使用当前用户以外的其他用户的凭据映射网络驱动器,则必须提供此参数。
简而言之,出于测试目的,您可能会在计算机上创建一个与服务器上的帐户不直接对应的新帐户。如果学生已经在服务器上有账户,就没有理由要求他们再次输入用户名和密码;Windows已经知道这是什么,它将被自动用于身份验证。
https://stackoverflow.com/questions/5635606
复制