每天上WINMAG社区看看现在似乎已经成了习惯,昨天在WINDOWS管理脚本区看到“mypeter”网友的“请问怎样在桌面上原来显示版本号的地方显示当前的IP地址和电脑名称呢?(基本解决)”的贴子!贴中介绍了他使用VBS与BAT脚本来实现了该功能,对此非常感兴趣,按照他的方法我经过调试在自已管理的域里也实现该功能,现将脚本公布如下,并对“mypeter”表示感谢!

 
1、请将下述代码存在VBS格式:
Dim ip
Dim Mac
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set IPConfigSet = objWMIService.ExecQuery _
    ("Select IPAddress,MacAddress from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet
    If Not IsNull(IPConfig.IPAddress) Then
        For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
 ip = IPConfig.IPAddress(i)
 Mac = IPConfig.MacAddress
    Next
    End If
Next
 
Const ForWriting = 8 
Set lei2=WScript.CreateObject("WScript.Network")
CN=lei2.computername
 
const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set StdOut = WScript.StdOut
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"
strValueName = "BuildLab"
strValue = "( "&CN&" )"
oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
strValueName = "DWORD Value Name"
dwValue = 82
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
 
 
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion"
strValueName = "CSDVersion"
strValue = ip & " ) ( "& Mac
oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
strValueName = "DWORD Value Name"
dwValue = 82
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue
 
2、请将下述代码存为BAT格式:
 
reg add hkcu\Control" "Panel\Desktop /v PaintDesktopVersion /t REG_DWORD /d 1 /f
 
3、注意点:
     1、需要重新启动两次。
     2、启动后在登录界面等待15秒以上,再登入。
     3、在WIN2000中没有BAT中REG程序,而XP系统中有,如需要在2000域中使用请将REG程序COPY到一个共享目录中,并在BAT代码中加入REG的共享路径。