Встановіть IP-адресу залежно від імені користувача


1

Тож у мене є сценарій зі старого монтажу XP, який встановлює IP-адресу залежно від того, що таке ім’я користувача. Ось сценарій:

'Get Username
set objNetwork = wscript.CreateObject("wscritp.network")
User=objNetwork.Username


'Set IP address based on username
Select Case User
    Case "user1"
        arrIPAddress = Array("192.168.1.9")
    Case "user2"
        arrIPAddress = Array("192.168.1.10")
    Case "user3"
        arrIPAddress = Array("192.168.1.11")
    Case "user4"
        arrIPAddress = Array("192.168.1.12")
    Case "user5"
        arrIPAddress = Array("192.168.1.13")
End Select

'non-changing values
arrSubnetMask = Array("255.255.255.0")
'arrGateway = Array("192.168.1.1")    
'arrGatewayMetric = Array(1)

'Below obtained from MSDN site WMI Tasks: Networking, slightly modified
strComputer = "."
setobjWMIService = GetObject _
    ("winmgmts:\\ " & strComputer & "\root\cimv2")

set colNetAdapters = objWMIService.ExecQuery _
    ("select * from Win32_NetworkAdapterConfiguration where ipenabled = rue")

for each objNetAdapter in colNetAdapters
    errEnable = objNetAdapter.EnableStatic(arrIPAddress, arrSubnetMask)

Next

set ipconfigset = objwmiservice.execquery _
    ("select IPAddress from Win32_NetworkAdapterConfiguration where ipenabled = true")

for each ipconfig in ipconfigset
    if not isnull(ipconfig.ipaddress) then
        for i=lbound(ipconfig.ipaddress) _
            to unbound(ipconfig.ipaddress)
                wscript.echo "Logged in as " & User & ", IP Address: " & ipconfig.ipaddress(i)

        next
    end if
next

Цей сценарій працює 100% на машині XP. Однак кожен раз, коли я переміщу його до Windows 7, він взагалі нічого не робить. Я розмістив його в папці iplogon для групової політики, а також у папці запуску. Чи була велика зміна синтаксису між XP та 7?


Якщо ви запускаєте його вручну на машині Windows 7, чи це працює? Як щодо того, якщо запустити його "як адміністратор"? Ви перейшли через нього налагоджувач VBA, щоб побачити, як він працює?
Ƭᴇcʜιᴇ007

Вибачте, напевно, я не включив стільки інформації, скільки мав би мати. Я запускаю це вручну, і нічого не відбувається. Я запускаю його в обліковому записі рівня адміністратора, тому він повинен автоматично запускатися як адміністратор, але я перейшов і встановив "запустити як адміністратор", і параметр не присутній у меню правої кнопки миші або у властивостях.
Остін

Що робити, якщо запустити командний рядок як адміністратор, а потім запустити сценарій всередині цього?
Collin Grady

Відповіді:


0

Цілком можливо, що синтаксис міг бути значно змінений. Ви повинні пам’ятати, що Windows 7 приніс багато змін з точки зору швидкості. Погляньте на ваші журнали помилок, щоб побачити, наскільки добре працює сценарій, і якщо він, здається, щось не помічає або виконує іншу команду, тоді це проблема. Крім того, я пригадую багато "оновлень", що стосуються фактичних команд мережевого з'єднання, однак, це може бути лише моя установка.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.