<script language="VBScript">
Option Explicit
' On Error Resume Next
Dim colIPResults, objFile, objFSO, objNIC, objWMI, objWSHNetwork, strAddresses, strIPAddress, strWQL
Const FOR_APPENDING = 8
Sub DestroyObjects()
If IsObject(objFile) Then Set objFile = Nothing
If IsObject(objFSO) Then Set objFSO = Nothing
If IsObject(objWMI) Then Set objWMI = Nothing
If IsObject(objWSHNetwork) Then Set objWSHNetwork = Nothing
' If IsObject() Then Set = Nothing
End Sub
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWSHNetwork = CreateObject("WScript.Network")
Set objWMI = GetObject("WinMGMTS:root\cimv2")
Set StrComputer = objWSHNetwork.Computername
strWQL = "SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'True'"
Set colIPResults = objWMI.ExecQuery(strWQL)
For Each objNIC In colIPResults
For Each strIPAddress in objNIC.IPAddress
If strAddresses = "" Then
strAddresses = strIPAddress
Else
strAddresses = strAddresses
End If
Next
Next
Document.write("PC Tag Number: " + StrComputer)
If strAddresses ="0.0.0.0" Or strAddresses ="" or strAddresses = "undefined" Then
Document.write("No Connection Detected")
Else
Document.write "Network Address - "+ strAddresses
End If
DestroyObjects()
</script>它一直告诉我变量是未定义的!
(StrComputer的变量)
发布于 2011-11-04 04:06:41
您从未在第6行声明过StrComputer。
为了在这里详细说明,您使用了选项Explicit,这意味着您必须在使用所有变量之前声明它们,即使我们是在VBScript中。因此,您必须在第6行的Dim语句中包含StrComputer。
Dim colIPResults、objFile、objFSO、objNIC、objWMI、objWSHNetwork、strAddresses、strIPAddress、strWQL、StrComputer。
此外,您似乎已经更改了命名约定,使用大写首字母而不是小写字母(StrComputer与strComputer)。尽管你当然可以随心所欲地命名它,但你可能希望保持一致,这样你就不会得到错误代码,当你通读它时,它看起来仍然正确。
https://stackoverflow.com/questions/8001136
复制相似问题