使用excel VBA执行shell命令并收集输出



我正在努力改进我们工作的票证工具,这样技术团队就不必打开Active Directory来确保票证发送者有资格提出某些请求。我需要的是能够运行net user /domain <username>,然后收集注释行并将其存储在VBA中的变量中。然后,变量将通过电子邮件发送到票务软件,以及用户在文本框中输入的任何内容。

我的想法是运行该命令并将输出字符串发送到另一个变量,然后从较大的输出中提取行信息,因为我似乎找不到只获取注释的方法。

我在下面添加了一个输出示例,其中箭头指向需要提取到变量中的数据。

我对VBA还很陌生,所以请耐心等待。

C:UsersjdoeDesktop>net user /domain jdoe
The request will be processed at a domain controller for domain StackOverflow.wh.
User name                    jdoe
Full Name                    John Doe
Comment                      Anlst Tech Supp  <----- this is what needs extracted
User's comment
Country/region code          000 (System Default)
Account active               Yes
Account expires              Never
Password last set            11/1/2021 8:58:44 AM
Password expires             1/30/2022 8:58:44 AM
Password changeable          11/1/2021 8:58:44 AM
Password required            Yes
User may change password     Yes
Workstations allowed         All
Logon script
User profile
Home directory
Last logon                   1/15/2022 11:43:12 AM
Logon hours allowed          All
Local Group Memberships
Global Group memberships     *Domain Users
The command completed successfully.
On Error Resume Next
Set objWMIService = GetObject("winmgmts:\.rootcimv2")
Set config = objWMIService.ExecQuery("Select * From Win32_UserAccount")
For Each thing in Config
Msgbox thing.caption & "  " & thing.Description
Next

程序员不会调用用户的命令。它们是为人类而不是程序设计的。

请参阅https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-useraccount了解更多信息。

最新更新