如何在 VBScript 中获取 %username%?

sad*_*man 2 windows vbscript networking

我试图对域用户隐藏共享文件夹的网络路径。(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
Run Code Online (Sandbox Code Playgroud)

我的网络路径如下所示:

strRemotePath = "\\servername\sharedfoldername1$\%username%"
strRemotePath = "\\servername\sharedfoldername2$\%username%"
strRemotePath = "\\servername\sharedfoldername5$\%username%"
strRemotePath = "\\servername\sharedfoldernameNNN$\%username%"
Run Code Online (Sandbox Code Playgroud)

当我插入时%username%,脚本不会运行。

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

Ans*_*ers 5

您可以在路径字符串中扩展环境变量

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

Set sh = CreateObject("WScript.Shell")
WScript.Echo sh.ExpandEnvironmentStrings(strRemotePath)
Run Code Online (Sandbox Code Playgroud)

或者您可以从您已经拥有的共享和属性构建路径UserNameWshNetwork

share = "\\servername\sharedfoldername1$"

Set fso = CreateObject("Scripting.FileSystemObject")
WScript.Echo fso.BuildPath(share, objNetwork.UserName)
Run Code Online (Sandbox Code Playgroud)