だから私は、ユーザー名が何であるかに基づいて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として実行し、その中からスクリプトを実行するとどうなりますか?
—
コリングラディ