Bagaimana cara mendapatkan% nama pengguna% di VBScript?

Saya mencoba menyembunyikan jalur jaringan folder bersama dari pengguna domain. (Windows Server 2012) Saya menemukan skrip ini saat mencari pelabelan drive jaringan:

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

Jalur jaringan saya akan seperti di bawah ini:

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

Saat saya memasukkan %username%, skrip tidak berjalan.

Mohon bimbing saya cara memodifikasi skrip ini yang akan berjalan sesuai kebutuhan saya.


person sadia rehman    schedule 04.03.2017    source sumber
comment
Kemungkinan duplikat Dapatkah saya mengambil variabel lingkungan di vbscript WSH naskah?   -  person user692942    schedule 05.03.2017
comment
Kemungkinan duplikat variabel Lingkungan VBScript   -  person user692942    schedule 05.03.2017


Jawaban (1)


Anda dapat memperluas variabel lingkungan di string jalur Anda:

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

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

atau Anda dapat membuat jalur dari share dan UserName dari WshNetwork yang sudah Anda miliki:

share = "\\servername\sharedfoldername1$"

Set fso = CreateObject("Scripting.FileSystemObject")
WScript.Echo fso.BuildPath(share, objNetwork.UserName)
person Ansgar Wiechers    schedule 04.03.2017