Resolving “Network path is not found” errors

Multiple customers of mine have had issues with the error message “Network path is not found”. Windows can throw this error message for a number of reasons.  This often becomes a problem when you’re trying to remotely monitor event logs, services, disk space, etc. using network monitoring software such as Overseer Network Monitor.

If you’re having this issue, try these things:

  • Make sure both Windows PCs(your computer and the remote computer) are running on the same network/LAN.
  • Disable the Windows firewall. If this works, you know it’s the firewall blocking traffic, and you can find what rule to add to the firewall to make things work.
  • Disable UAC!. Note that you may have to disable remote UAC in addition to the GUI disabling of user account control
  • Check the clocks on both computers. If the times are not within 15 minutes of each other, this problem may occur. Be sure to check the date and the time, as it’s easy to miss a different year when looking at just the time or day.
  • Check the status of these services and make sure they’re running on both ends:
    • Remote Registry Service
    • Server
    • Workstation
    • Computer Browser
    • Remote Procedure Call
    • TCP/IP NetBIOS Helper Service
  • Check your network card(s) properties, and check these options:
    • Client for Microsoft Networks
    • File and Printer Sharing for Microsoft Networks
    • Also make sure “Enable NetBIOS over TCP/IP” is enabled
    • Make sure “802.1x” authentication is disabled(potentially buried under ‘configure’ tab for network adapter
  • If using local accounts, be sure you’re referring to them as MACHINE\username, and **not** .\username. If you use .\username, you will get “network path was not found”, which is a very unhelpful in resolving this problem.


EventLogSession/EventLogReader error remotely accessing Windows XP/W2K3 machines

Sometimes, when searching Google it takes all of 30 seconds to find an answer to a question. Other times, it can take minutes, or even hours. I’m writing this blog post, because I was just researching an issue that took me hours to figure out– and in the end, it was so simple, yet disappointing at the same time…

For the new version of Overseer, the network monitoring software I write, I was adding support for extended event logs– these are the “Applications and Services Logs” event logs below the regular ones in W2K8’s event viewer. I found I had to use the new EventLogSession/EventLogReader API. I found it required .NET 3.5, so I upgraded my software to require .NET 3.5(it was v2 compatible up to this point).

I got things working, and I was able to monitor event logs(new and old style) using the code remotely accessing Windows 2008 and Windows 7 computers. I got an error when accessing Windows XP machines(and I’m sure W2K3 machines, but I didn’t have any to test with at the time). The error was “UnauthorizedAccessException – Attempted to perform an unauthorized operation.”  To most, including myself, this seems like a permissions issue– so I looked into all sorts of potential impersonation problems, etc. I scoured the web looking for anyone even having the same problem, but didn’t find it.

Eventually, I found a reference buried in some forum reply, that one of the API calls that the new EventLogSession/EventLogReader calls is Vista/W2K8+ only. That’s just great– the whole API is now Vista/W2K8+ only… Why Microsoft wouldn’t add a compatibility layer for Windows XP and Windows 2003 is beyond me… But once I found this, I at least was able to move on, realizing that I had to detect the version of Windows running on the remote machine and use the different API’s accordingly… If only Microsoft had included proper documentation clearly specifying this new API was Vista/W2K8+ only, had an error message indicating something of that sorts, or actually did the right thing and wrote a compatibility layer into it, I wouldn’t have wasted so much time on such an unproductive search.



Always have a software schedule

As some of you may know, I spend a large portion of my time contracting with a specific client. The rest of my time, I spend doing operations things, and trying to develop and promote my products, Overseer Network Monitor and Employee Scheduling Pro. The time demands of my primary contract, along with personal time demands, sometimes leaves me very little time to develop and/or promote my products. It can be quite frustrating at times. In the past 6 months or so, I’ve been doing my best to force myself to do a little bit every week. I created a whiteboard that tracks how many days it has been since my last release, blog post, sale, etc. for each of the products. As I see this number go up, I get more motivated to do something with the product so I can make a release, and therefore a blog entry, and hopefully all this will spur sales(or potentially do some marketing to make the sales # move)…

While this has been helpful to keep me from being totally idle on my products, I’ve found it’s caused a different problem. I’ll notice late in the week that a number is high, and be motivated to make a release to bring that number down to 0. So, I’ll search my feature database for something I can bang out in a couple hours or maybe a day– tops… If I have a bit more time, I’ll do a couple to make it a more substantial release… The problem with this, is I’m always pressed for time in a week– so only small enhancements get done… The exception to this rule, is when I have a customer specifically asking for features– then I focus all my development efforts on getting the list of features implemented that the specific [potential] customer requests. I feel I get a lot done in this manner, but it often spans multiple periods of my non-contract time. This is good, because I stay focused.

After noticing this pattern and doing some research online, I’ve come to the realization that I can’t continue without a little more structure. I need to start planning software releases– to create a simple schedule. I need to take some time, sit down, and choose a certain few features(big and small) to be included in a release. I then have to schedule out how long that’ll take, and get it done– accepting upfront that this will take numerous sessions– I can’t bang out a substantial release in an afternoon as I’ve been doing…

New releases, busy week

This has been a busy week involving multiple new releases– one for Overseer, my network monitoring software, and the other for Employee Scheduling Pro, my employee scheduling software. In addition to this, I’ve had more hours than usual for a regular client of mine… Overall, it’s been a very busy week.

I’ve also been looking at adding support to Overseer for USB temperature sensing units. I ordered a few for prototypes/development units, and hope to add a budget alternative to the extremely expensive Sensatronics EM1 option that Overseer currently supports.

Google Analytics Tracking of Downloads DOES NOT WORK RELIABLY

About a month ago I switched to using Google Analytics. I was previously using Urchin for web analytics, and had accepted that it simply didn’t work for tracking goals, etc.(I reported this to Urchin and they refused to acknowledge it). When I switched to Google Analytics, I setup goals for tracking downloads of my Network and System Monitoring Software. This seemed to work, and replaced my weblog analysis that counted the downloads for conversion tracking.

This past Friday, I launched my Employee Scheduling Software and setup goal/download tracking the same exact way. I downloaded it a few times, and it never showed up in Google Analytics as a conversion– or as content. I analyzed what could be wrong, and found that everything was setup perfectly.

So, being a software developer, I loaded my download page up in Chrome and turned on the Javascript console. I found that when clicking the download links, it would come up with an “undefined” error, yet still allow the download to take place. With some experimentation, I found that the tracking code always fails when linking to a binary/downloadable file, but works for linking to pages… Of course, that doesn’t work for me, as I need to track downloading of files… I couldn’t find any solutions online, and I tried multiple different ways to track the downloads with GA… It appears to be browser specific(with Chrome), which is why the problem was masked with Overseer downloads… But this  just makes it clear to me that I can’t trust Google’s numbers…

So, it looks like I’ll be switching back to tracking downloads from my logs… The plus side of this, is I can go back historically and won’t be limited by GA’s lack of data, lack of Javascript support on some browsers, etc… The problem is I won’t be able to see ‘goals’ inside GA’s interface… I suppose there’s worse things.

How to Email a cell phone

For many reasons, many people may want to Email a text message to their cell phone. This might be used to notify themselves when their servers or websites go down– or simply to notify them of backup completion or a new sale. If you’re interested in receiving Emails when your servers or websites go down, you may want to check out Overseer, which does exactly that– it is able to send an Email to your phone when your website goes down.

If you’d like to Email a cell phone directly from your Email client, from a script, or something else, you can still do so quite easily. This has the benefit of being free for the person sending the email, but the recipient may still pay to receive the email as a text message. To send a text message to someone’s cell phone via Email, you will need to know their phone number and what cell phone carrier they use. To send a text message to a cell phone, simply send an Email to the appropriate Email address:

Cingular Wireless
Metro PCS
Sprint PCS
US Cellular
Virgin Mobile


Remember to keep your EMails short, as the recipient will be receiving them on a small screen, and long Emails may be cut off or split between multiple text messages(and they’ll get charged for each one by their carrier). Also, if your carrier isn’t here, it may be here: Cell Phone Email Addresses.

Cell Phone Email Addresses

Most mobile phone and pager carriers provide Email gateways into their SMS/Text messaging networks, allowing for the free sending of text messages to these devices. These Email addresses sometimes change, so I’ve provided a list of SMS cell phone Email addresses here. Some of these may not work– it’s best to try sending an Email to each address for your provider and see if you get the message. If you know of a provider/Email address combination that’s not here that you know works, please contact me at so I can add it to the list. Note that messaging rates on the device may still apply. For more details, please see How to Email a Cell Phone. If you’re interested in monitoring your servers, websites, and network devices, and getting Emails to your cell phone when they go down, please check out Overseer Server Monitoring Software.


Provider Name Email Address
3 River Wireless
ACS Wireless
AT&T Pocketnet PCS
Advantage Communications
Airtouch Pagers
Airtouch Pagers
Airtouch Pagers
Airtouch Pagers
Ameritech Clearpath
Ameritech Paging
Ameritech Paging
Andhra Pradesh Airtel
Arch Pagers (PageNet)
Arch Pagers (PageNet)
BPL mobile
BeeLine GSM
Bell Atlantic
Bell Canada
Bell Canada
Bell Mobility
Bell South (Blackberry)
Bell South Mobility
Bell South
Bell South
Bell South
Bell South
Bluegrass Cellular
Boost Mobile
Carolina Mobile Communications
Cellular One East Coast
Cellular One PCS
Cellular One South West
Cellular One
Cellular One
Cellular One
Cellular One
Cellular One
Cellular One
Cellular South
Central Vermont Communications
Chennai RPG Cellular
Chennai Skycell / Airtel
Cincinnati Bell
Cingular Wireless
Communication Specialist Companies
Communication Specialists
Cook Paging
Corr Wireless Communications
DT T-Mobile
Delhi Aritel
Delhi Hutch
Digi-Page / Page Kansas
Dobson Cellular Systems
Dobson-Alex Wireless / Dobson-Cellular One
Edge Wireless
GCS Paging
Goa BPLMobil
Golden Telecom
GrayLink / Porta-Phone
Gujarat Celforce
Houston Cellular
Idea Cellular
Infopage Systems
Inland Cellular Telephone
JSM Tele-Page
Kerala Escotel
Kolkata Airtel
Lauttamus Communication
MCI Phone
Maharashtra BPL Mobile
Maharashtra Idea Cellular
Manitoba Telecom Systems
Metro PCS
Metrocall 2-way
Midwest Wireless
Mobilecom PA
Mobility Bermuda
Mobistar Belgium
Mobitel Tanzania
Mobtel Srbija
Morris Wireless
Mumbai BPL Mobile
Mumbai Orange
NPI Wireless
One Connect Austria
Optus Mobile
Orange – NL / Dutchtone
Orange Mumbai
P&T Luxembourg
Pacific Bell
PageMart Advanced /2way
PageMart Canada
PageNet Canada
PageOne NorthWest
Pioneer / Enid Cellular
Pocket Wireless
Pondicherry BPL Mobile
Price Communications
Public Service Cellular
RAM Page
Rogers AT&T Wireless
Rogers Canada
SBC Ameritech Paging
SFR France
ST Paging
Satelindo GSM
Simple Freedom
Skytel Pagers
Skytel Pagers
Smart Telecom
Southern LINC
Southwestern Bell
Sprint PCS
Sunrise Mobile
Sunrise Mobile
Surewest Communicaitons
T-Mobile(Austria) Austria
T-Mobile(Germany) Germany
TSR Wireless
TSR Wireless
Tamil Nadu BPL Mobile
Tele2 Latvia
Telefonica Movistar
Telia Denmark
The Indiana Paging Co
US Cellular
US West
Uttar Pradesh Escotel
Virgin Mobile
Virgin Mobile Canada
Vodafone Italy
Vodafone Japan
Vodafone Japan
Vodafone Japan
Vodafone Spain
Vodafone UK
VoiceStream / T-Mobile
WebLink Wiereless
WebLink Wiereless
West Central Wireless
Western Wireless

Control Library Quirks

Generally when designing a software product, I have to weight the pros and cons of rolling my own code for everything, or strategically using control libraries for key parts of the code. A couple years ago, I decided that for the front-end GUI in my .NET apps, I’d use the Winform controls from DevExpress. Generally, this has worked fairly well. As with working with any control library, there’s little quirks that I have to get used to. This control library likes to put most of their functionality under a “Properties” parent property… That’s one of the key things to remember when working with their controls…

Today these quirks with DevExpress’s XtraScheduler control exceeded annoying and went into downright frustrating. I was trying to setup a timeline view to span midnight(some customers of my Employee Scheduling Software will have operating hours that go unto the wee hours of the morning). To do this, I had to create a custom TimelineScale object. This makes sense, but the names of the methods and the logic that I have to implement in them just doesn’t make sense to me… And the documentation on these properties is obscure at best… I finally got things working after a lot of messing around, and I’m glad to finally have it behind me.  Overall, I think using the scheduler control will probably provide useful eye candy to the software while keeping me from having to re-invent the wheel.

Overseer Blog is live

Well, after integrating WordPress into my websites, I was able to get my blog live for Overseer Network Monitor. I created posts for each of the releases from my release notes file going back almost 2 years to seed the blog with some posts. These posts are full of information regarding the new features added to Overseer in 4.x. A couple of the features deserved their own posts, so I wrote about a couple of those as well.

For those that are unaware, Overseer is a Network and System Monitoring Tool used by system administrators to monitor their systems and notify them(via Email, cell phone, pager, etc.) when something goes down.