What is error '80041003', please?

Discussion in 'Scripting' started by SteveH, Nov 17, 2008.

  1. SteveH

    SteveH Guest

    Hello

    I am getting an '80041003' error, but I'm not sure what it means.

    Here is the script:

    <%@ LANGUAGE="VBSCRIPT" %>
    <%
    ' Please indicate where notifications should be sent
    Const ADMIN_EMAIL = ""

    ' Please provide the following details for your SMTP server
    Const SMTP_SERVER="mail.whatever.com"
    Const SMTP_PORT = 25 ' Do not change if you are unsure

    ' If your SMTP server requires authentication, please set
    ' USE_AUTHENTICATION to True and supply a username and password
    Const USE_AUTHENTICATION = True
    Const SMTP_USER=""
    Const SMTP_PASS="name"

    ' If your SMTP server uses Secure Password Aunthentication, please
    ' set the following value to True.
    Const SMTP_SSL = False

    ' Set this value to true while testing
    Const ENABLE_DEBUGGING = False

    ' Do not change anything below this line
    Set WshNetwork = CreateObject("WScript.Network")

    dteTime = Time
    dteDate = Date

    strMessage = "A user has logged onto <b>" & ComputerName & "</b> from <b>" &
    WAN_IP & "</b> with the following details:<br><br>" _
    & "Logon Date: " & dteDate & "<br>" _
    & "Logon Time: " & dteTime & "<br>" _
    & "Account Name: " & AccountName & "<br>" _
    & "LAN IP: " & LAN_IP & "<br>"

    result = SendMail(strMessage)

    If ENABLE_DEBUGGING Then WScript.Echo result
    WScript.Quit

    Function AccountName
    If IsNull(WshNetwork) Then Set WshNetwork = CreateObject("WScript.Network")
    AccountName = WshNetwork.UserName

    End Function

    Function ComputerName
    If IsNull(WshNetwork) Then Set WshNetwork = CreateObject("WScript.Network")
    ComputerName = WshNetwork.ComputerName

    End Function

    Function LAN_IP
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select IPAddress from
    Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE",,48)

    For Each objItem In colItems
    If Not IsNull(objItem.IPAddress) Then
    LAN_IP = objItem.IPAddress(0)
    Exit For
    End If
    Next

    End Function

    Function WAN_IP
    Set objxmlHTTP = CreateObject("Microsoft.XMLHTTP")
    Call objxmlHTTP.open("get", "http://checkip.dyndns.org", False)
    objxmlHTTP.Send()

    strHTMLText = objxmlHTTP.ResponseText
    Set objxmlHTTP = Nothing

    If strHTMLText <> "" Then
    varStart = InStr(1, strHTMLText, "Current IP Address:", vbTextCompare) + 19
    If varStart Then varStop = InStr(varStart, strHTMLText, "</body>",
    vbTextCompare)
    If varStart And varStop Then strIP = Mid(strHTMLText, varStart, varStop -
    varStart)

    Else
    strIP = "Unavailable"

    End If
    WAN_IP = Trim(strIP)

    End Function

    Function SendMail(strBody)
    Set objEmail = CreateObject("CDO.Message")
    With objEmail
    .From = ADMIN_EMAIL
    .To = ADMIN_EMAIL
    .Subject = "Logon Notification"
    .HTMLBody = strBody
    .Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    .Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTP_SERVER
    .Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") =
    SMTP_PORT
    If USE_AUTHENTICATION Then
    .Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    .Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/sendusername") =
    SMTP_USER
    .Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/sendpassword") =
    SMTP_PASS

    End If
    If SMTP_SSL Then
    .Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True

    End If
    .Configuration.Fields.Update

    On Error Resume Next
    Err.Clear

    .Send

    If Err.number <> 0 Then
    SendMail = Err.Description

    Else
    SendMail = "The server did not return any errors."

    End If
    On Error Goto 0

    End With

    End Function
    %>

    Is there anything obvious here which is responsible for the error I am
    getting?

    Many thanks.

    Steve
     
    SteveH, Nov 17, 2008
    #1
    1. Advertisements

  2. SteveH

    urkec Guest


    Access denied:

    http://msdn.microsoft.com/en-us/library/aa393978(VS.85).aspx
     
    urkec, Nov 17, 2008
    #2
    1. Advertisements

  3. SteveH

    SteveH Guest

    Many thanks to you both for your replies.

    I'm unsure about what the message means that I do not have the necessary
    permissions. I can ask my Web hosting service, but as far as I know I have
    read/write permissions in that I own the site.

    This might be one of those errors which the Windows server throws up as the
    closest it can find to pinpointing an error.

    The exact error is this:

    error '80041003'
    /LogInTest/notification.asp, line 54


    When it points to a line I'm never sure if space are included or if
    commented lines are included.

    Thanks for your help again.

    Steve
     
    SteveH, Nov 18, 2008
    #3
  4. My best estimate is that line 54 is the following (watch line wrapping):

    Set colItems = objWMIService.ExecQuery("Select IPAddress from
    Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE",,48)

    If this is correct, it appears you have permission to connect to the
    computer, but not to use the Win32_NetworkAdapterConfiguration class of WMI.

    Or, if the error is raised on the previous line (which seems more likely),
    you cannot connect with WMI. Instead of the following:

    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

    I would suggest you try:

    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate,authenticationLevel=Pkt}!\\" _
    & strComputer & "\root\cimv2")

    Refer to the following links to troubleshoot WMI:

    http://www.microsoft.com/technet/scriptcenter/topics/help/wmi.mspx

    http://support.microsoft.com/kb/875605

    http://www.microsoft.com/technet/scriptcenter/resources/wmifaq.mspx
     
    Richard Mueller [MVP], Nov 18, 2008
    #4
  5. SteveH

    SteveH Guest

    Hello Richard

    Many thanks for your post.

    When I try this:

    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate,authenticationLevel=Pkt}!\\" _
    & strComputer & "\root\cimv2")

    and comment out

    'Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

    I get the same error message:

    error '80041003'
    /LogInTest/notification.asp, line 58

    Would that suggest I do not have permission to use:

    Win32_NetworkAdapterConfiguration class of WMI

    Do I need to contact the hosting service to correct that, or is there
    another way to resolve it?

    Cheers again, Richard.

    Steve
     
    SteveH, Nov 19, 2008
    #5
  6. You only need permission on the local computer where this is run. I would
    also replace:

    LAN_IP = objItem.IPAddress(0)

    with:

    LAN_IP = objItem.IPAddress

    That may be the problem line.

    --
    Richard Mueller
    MVP Directory Services
    Hilltop Lab - http://www.rlmueller.net
     
    Richard Mueller [MVP], Nov 19, 2008
    #6
  7. SteveH

    SteveH Guest

    Hello Richard

    I've done this:

    'LAN_IP = objItem.IPAddress(0)
    LAN_IP = objItem.IPAddress

    but it still generates this eror:

    error '80041003'
    /LogInTest/notification.asp, line 58

    It's getting frustrating, I know.

    Steve
     
    SteveH, Nov 20, 2008
    #7
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.