使用VBS吸引用户

时间:2018-12-01 17:13:47

标签: vbscript

我需要找到一种方法来获取系统的当前用户并将其放在地址中。

现在我正在使用此脚本:

Set WshShell = CreateObject("WScript.Shell")
Dim User
User = "User"
WshShell.Run Chr(34) & "C:\Users\" & User & "\Documents\Test\M2.bat" & Chr(34), 0
Set WshShell = Nothing

我正在使用它来运行批处理文件而不显示。现在要更改用户,我必须自己更改变量。有没有办法使其自动?

2 个答案:

答案 0 :(得分:2)

Msgbox CreateObject("WScript.Shell").SpecialFolders("MyDocuments")

正确的方法是询问系统“我的文档”在哪里。用户可以移动它们。

答案 1 :(得分:0)

有几种获取当前登录用户的用户名的方法,例如:

  • 扩展环境变量%USERNAME%

    Set sh = CreateObject("WScript.Shell")
    User = sh.ExpandEnvironmentStrings("%USERNAME%")
    
  • 通过UserName对象的WshNetwork属性:

    Set net = CreateObject("WScript.Network")
    User = net.UserName
    
  • 来自Win32_ComputerSystem WMI类的
  • Set wmi = GetObject("winmgmts://./root/cimv2")
    For o In wmi.ExecQuery("SELECT * FROM Win32_ComputerSystem")
        User = o.UserName
    Next
    
  • 通过ADSI:

    Set sys = CreateObject("ADSystemInfo")
    User = sys.UserName
    

有关更完整的列表,请参见this overview,由Rob van der Woude编译。