ユーザー名に基づいてIPアドレスを設定する


1

だから私は、ユーザー名が何であるかに基づいてIPアドレスを設定する古いXPインストールからのスクリプトを持っています。スクリプトは次のとおりです。

'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

このスクリプトは、XPマシンで100%動作します。ただし、Windows 7に移動するたびに何も実行されません。グループポリシーとスタートアップフォルダーのiplogonフォルダーに配置しました。XPと7の間に大きな構文変更がありましたか?


Windows 7マシンで手動で実行すると動作しますか?「管理者として」実行する場合はどうですか?VBAデバッガーを使用して、実行方法を確認しましたか?
Ƭᴇcʜιᴇ007

申し訳ありませんが、必要な情報が含まれていませんでした。手動で実行しても何も起こりません。管理者レベルのアカウントで実行しているので、管理者として自動的に実行されるはずですが、「管理者として実行」を設定して、右クリックメニューまたはプロパティの下にオプションがありません。
オースティン

コマンドプロンプトをadminとして実行し、その中からスクリプトを実行するとどうなりますか?
コリングラディ

回答:


0

構文が大幅に変更された可能性は非常に高いです。Windows 7は、速度に関して多くの変更をもたらしたことを覚えておく必要があります。エラーログを調べて、スクリプトの実行状況を確認し、何かに気付かないようであるか、別のコマンドを実行している場合はそれが問題です。また、実際のネットワーク接続コマンドに関する「更新」の多くを思い出しますが、それは私のリグだけかもしれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.