Создайте VBS, который создает окно сообщения с текущим пользователем - имя пользователя, имя компьютера и несколько IP-адресов для (проводной / беспроводной / vpn) - PullRequest
0 голосов
/ 14 апреля 2020

С помощью удивительного пользователя здесь Тео ... нам удалось создать окно сообщения со следующей информацией -> Имя пользователя: имя пользователя компьютера: компьютер1 Проводной IP: XXXX Wireless IP: XXXX Что это хорошо работает. Но в настоящее время многие наши сотрудники используют VPN, и я хотел бы, чтобы в этом окне также отображался IP-адрес VPN, но только если они подключены к VPN. Это возможно? Любая помощь будет принята с благодарностью!

Option Explicit

On Error Resume Next
Dim WSH, WshNtwk, objWMIService, IPAdapterSet, IPConfig, IPConfigSet, IPConf
Dim strMsg, strComputer, infoStr, FinalIP

Set WSH = WSCript.CreateObject("WScript.Shell")
Set WshNtwk = WScript.CreateObject("WScript.Network")
strMsg = ""
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set IPAdapterSet = objWMIService.ExecQuery("Select AdapterTypeID, NetConnectionID, MACAddress from Win32_NetworkAdapter")

' values for AdapterTypeID: https://docs.microsoft.com/en-us/windows/desktop/cimwin32prov/win32-networkadapter
For Each IPConfig in IPAdapterSet
    Set IPConfigSet = objWMIService.ExecQuery("Select IPEnabled, Description, Caption, IPAddress, MACAddress from Win32_NetworkAdapterConfiguration where IPEnabled='True' AND MACAddress = '" & IPConfig.MACAddress & "'")
    For Each IPConf in IPConfigSet
        If Not IsNull(IPConf.IPAddress) Then
            If Instr(1, IPConfig.NetConnectionID, "Wireless", vbTextCompare) > 0 Then
                strMsg = strMsg & "- Wireless IP: " & vbTab
            Else
                strMsg = strMsg & "- Wired IP:    " & vbTab
            End If

            strMsg = strMsg & Join(IPConf.IPAddress, ", ") & vbCrLf
            strMsg = strMsg & "- MAC Address: " & vbTab & IPConfig.MACAddress & vbCrLf & vbCrLf
        End If
    Next
Next

''WScript.Echo strMsg
infoStr = "Please provide the following information to the IT Technician." & vbCrLf & vbCrLf & _
"Username :" & vbTab & WshNtwk.UserName & vbCrLf & _
"Computer Name :" & vbTab & Ucase(WshNtwk.ComputerName) & vbCrLf & _
"IP Addresses:" & vbCrLf & strMsg
'"Domain:" & WshNtwk.UserDomain
' Display the IP address and computer name in user-friendly message box
MsgBox infoStr, 64, "Some Title"
'"Computer Name:" & vbTab & Ucase(WshNtwk.ComputerName) & vbCrLf & "IP Address:" & vbTab & FinalIP, vbOkOnly , "SCCCMHA PC Information"
On Error Goto 0

'cleanup
Set IPConf = Nothing
Set IPConfig = Nothing
Set objWMIService = Nothing
Set IPAdapterSet = Nothing
Set WSH = Nothing
Set WshNtwk = Nothing

WScript.Quit
...