【问题标题】:How to get %username% in VBScript?如何在 VBScript 中获取 %username%?
【发布时间】:2017-03-04 09:15:11
【问题描述】:

我试图对域用户隐藏共享文件夹的网络路径。 (Windows Server 2012) 我在搜索网络驱动器标签时发现了这个脚本:

Option Explicit
Dim objNetwork, strDrive, objShell, objUNC
Dim strRemotePath, strDriveLetter, strNewName

strDriveLetter = "H:"
strRemotePath = "\\servername\sharedfoldername$\"
strNewName = "Save Your Files Here"

'Section to map the network drive
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath

'Section which actually (re)names the Mapped Drive
Set objShell = CreateObject("Shell.Application")
objShell.NameSpace(strDriveLetter).Self.Name = strNewName

WScript.Echo "Check : "& strDriveLetter & " for " & strNewName
WScript.Quit

我的网络路径如下:

strRemotePath = "\\servername\sharedfoldername1$\%username%"
strRemotePath = "\\servername\sharedfoldername2$\%username%"
strRemotePath = "\\servername\sharedfoldername5$\%username%"
strRemotePath = "\\servername\sharedfoldernameNNN$\%username%"

当我插入%username% 时,脚本没有运行。

请指导我如何修改将根据我的要求运行的脚本。

【问题讨论】:

标签: windows networking vbscript


【解决方案1】:

你可以在你的路径字符串中expand environment variables:

strRemotePath = "\\servername\sharedfoldername1$\%username%"

Set sh = CreateObject("WScript.Shell")
WScript.Echo sh.ExpandEnvironmentStrings(strRemotePath)

或者您可以从共享中build the path 和您已经拥有的WshNetwork 的UserName 属性:

share = "\\servername\sharedfoldername1$"

Set fso = CreateObject("Scripting.FileSystemObject")
WScript.Echo fso.BuildPath(share, objNetwork.UserName)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    相关资源
    最近更新 更多