【问题标题】:How can I connect to a network folder with VBS - with a prompt for the computer name first?如何使用 VBS 连接到网络文件夹 - 首先提示输入计算机名称?
【发布时间】:2012-10-28 01:47:08
【问题描述】:

我整个下午都在搜索 SO 和 google 来尝试解决这个问题,

我想要一个 .vbs 脚本来提示我输入计算机名称,例如 PC123 然后连接到计算机的 C 盘 (\PC123\c$) 并使用所需的登录凭据打开一个 Windows 资源管理器窗口(每台计算机的格式都相同)

即:

用户名:PC123\PC123_ADMIN

密码:PC123#ADMINpass

这是我目前拥有的:

Set objNetwork = WScript.CreateObject("WScript.Network")
objNetwork.MapNetworkDrive "R:", "\\PC123\C$", False, "PC123\PC123_ADMIN",     "PC123#ADMINpass"

这可以将 R: 连接并映射到我想要的电脑,但必须硬编码到一台特定的计算机上,并且不允许我进入我想连接的计算机。

如果可能的话,我想直接打开 C$ 的资源管理器窗口,因为我需要连接到不同数量的计算机。

我该怎么做?

【问题讨论】:

    标签: windows networking scripting vbscript windows-xp


    【解决方案1】:

    另一个选项可能是直接使用 UNC 路径启动 explorer.exe(如果运行该命令的用户有权访问共享):

    computer = InputBox("Enter computer name")
    CreateObject("WScript.Shell").Run "explorer /e,\\" & computer & "\C$", 1, False
    

    编辑:如果您必须传递凭据,请坚持使用您所拥有的并将静态计算机名称替换为变量:

    computer = InputBox("Enter computer name")
    path     = "\\" & computer & "\C$"
    username = computer & "\" & computer & "_ADMIN"
    password = computer & "#ADMINpass"
    
    Set objNetwork = CreateObject("WScript.Network")
    objNetwork.MapNetworkDrive "R:", path, False, username, password
    

    您可以使用该驱动器号打开资源管理器窗口,就像使用 UNC 路径一样:

    CreateObject("WScript.Shell").Run "explorer /e,R:\", 1, False
    

    【讨论】:

    • 这太棒了!无论如何只有使用“计算机”变量自动将本地管理员凭据传递给计算机?即每台远程计算机的用户名和密码始终采用相同的格式: 用户名:computername_Admin 密码:computername#ADMINpass
    • 没有。如果您必须传递凭据,则将共享映射到驱动器号是我知道的唯一方法。当然,使用runas.exe 并通过SendKeys() 输入密码可以想出一些东西,但我强烈建议不要进行这种黑客攻击,因为它丑陋、不安全,而且可能会被破坏。
    • 谢谢,希望能够远程访问计算机而不必每次都输入用户名/密码,但似乎这是最好的选择,干杯!
    • 当本地和远程管理员用户具有相同的名称和密码时,您应该能够访问远程管理员共享,而无需提供凭据。在任何其他情况下,您都必须进行身份验证。
    【解决方案2】:

    查找 InputBox 函数。它会提示您输入值。 例如

    Input = InputBox("Enter your computer name")
    

    要在资源管理器中打开映射的驱动器,请使用运行。例如

    Dim oShell
    Set oShell = WScript.CreateObject ("WSCript.shell")
    oShell.run "start R:"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多