2017-03-04 2 views
1

Ich versuche, den Netzwerkpfad von freigegebenen Ordnern von Domänenbenutzern zu verbergen. (Windows Server 2012) Ich habe dieses Skript gefunden, während für Netzlaufwerk Kennzeichnung der Suche:Wie erhalten Sie% Benutzername% in VBScript?

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 

Mein Netzwerk-Pfad wie unten sein wird:

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

Wenn ich einfügen %username%, wird das Skript nicht ausgeführt werden.

Bitte führen Sie mich, wie dieses Skript, das nach meinen Anforderungen ausgeführt wird, zu ändern.

+1

Mögliche Duplikat [Kann ich Umgebungsvariablen in WSScript-Skript aufnehmen?] (http://stackoverflow.com/questions/904739/cani-i-pick-up-environment-variables-in-vbscript-wsh-script) – Lankymart

+0

Mögliches Duplikat von [VBScript Umgebungsvariablen] (http://stackoverflow.com/q/11620970/692942) – Lankymart

Antwort

4

Sie können expand environment variables in Ihrem Pfad string:

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

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

oder Sie können build the path von der Aktie und der UserName Eigenschaft des WshNetwork, die Sie bereits haben:

share = "\\servername\sharedfoldername1$" 

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

[Ähnliche Antwort] (http://stackoverflow.com/a/30811139/692942) Sie zuvor gegeben. – Lankymart

Verwandte Themen