Vba 获取当前登录的用户名
我正在尝试使用VBS获取用户的登录用户名 我尝试了一些代码,当我直接双击它运行脚本时,这些代码是有效的Vba 获取当前登录的用户名,vba,vbscript,cmd,Vba,Vbscript,Cmd,我正在尝试使用VBS获取用户的登录用户名 我尝试了一些代码,当我直接双击它运行脚本时,这些代码是有效的 Set wshNetwork = CreateObject("WScript.Network") strUser = wshNetwork.Username WScript.Echo "Current User: " & strUser 但是,我需要做的是使用CMD来运行使用AT命令的计划任务。 当它运行时,用户名将是计算机的名称,而不是登录的用户 当我以管理员身份运行CMD并使用w
Set wshNetwork = CreateObject("WScript.Network")
strUser = wshNetwork.Username
WScript.Echo "Current User: " & strUser
但是,我需要做的是使用CMD来运行使用AT命令的计划任务。
当它运行时,用户名将是计算机的名称,而不是登录的用户
当我以管理员身份运行CMD并使用wscript运行脚本时,也会出现此问题
有没有办法绕过此上下文并获取登录用户而不是运行脚本的用户?我建议您执行该命令
query session console
设置
从提示中。它可能会显示在环境中设置的一些可能感兴趣的项目
设置用户
将审查列表,以便仅显示启动用户的变量。我建议您执行该命令
query session console
设置
从提示中。它可能会显示在环境中设置的一些可能感兴趣的项目
设置用户
将审查列表,以便仅显示启动用户的变量。命令
query session console
你应该提供你所需要的
为了更容易解析
quser console
已编辑-包含示例vbs代码
Dim strCmd
strCmd = "cmd /q /c ""quser console | find /i ""console"" "" "
Dim buffer
buffer = WScript.CreateObject("WScript.Shell").Exec(strCmd).StdOut.ReadAll()
Dim c, consoleUserName
c = InStr(buffer,"console")
If c > 2 Then
consoleUserName = Trim(Mid(buffer,2,c-2))
Else
consoleUserName = ""
End If
WScript.Echo consoleUserName
命令
query session console
你应该提供你所需要的
为了更容易解析
quser console
已编辑-包含示例vbs代码
Dim strCmd
strCmd = "cmd /q /c ""quser console | find /i ""console"" "" "
Dim buffer
buffer = WScript.CreateObject("WScript.Shell").Exec(strCmd).StdOut.ReadAll()
Dim c, consoleUserName
c = InStr(buffer,"console")
If c > 2 Then
consoleUserName = Trim(Mid(buffer,2,c-2))
Else
consoleUserName = ""
End If
WScript.Echo consoleUserName
如何使用此选项使vbs脚本显示登录的用户?在会话中,set user displays Administrator(设置用户显示管理员)无法复制您的观察结果。已为我正确设置用户名-是否以管理员身份运行。如何使用此设置使我的vbs脚本显示登录的用户?在会话中,set user displays Administrator(设置用户显示管理员)无法复制您的观察结果。用户名设置是否正确-是否以管理员身份运行。谢谢,我可以看到用户名,但如何将用户名从CMD控制台输入vbs脚本?很抱歉,回复太晚,我使用psexec运行wscript这个示例代码,结果是blank@BloopieBloops:使用WScript.StdOut.WriteLine更改WScript.Echo,并使用cscript而不是WScript运行。哦,等等,我使用另一种方法运行了它,它工作了!非常感谢!谢谢,我可以看到用户名,但是如何将用户名从CMD控制台输入到vbs脚本中?很抱歉,回复太晚,我使用psexec运行wscript这个示例代码,结果是blank@BloopieBloops:使用WScript.StdOut.WriteLine更改WScript.Echo,并使用cscript而不是WScript.oh运行,等等,我用另一种方法运行它,它工作了!非常感谢!