Video Screencast Help

PXE Monitor

Created: 15 Oct 2007 • Updated: 07 Aug 2012 | 9 comments
FalconV's picture
+1 1 Vote
Login to vote

Have a PXE Server that randomly gets disconnected? Or an unstable PXE Server? Constantly have to remotely connect to and restart the PXE Server? Here's a script to help keep your PXE Servers alive and connected to the PXE Manager.

This is to be executed on the PXE Manager (Deployment Server), not on each PXE Server. Create a Windows Schedule to run the script as often as you'd like to check remote PXE Servers for a connection. I'd recommend getting all PXE Servers connected and manually running the script first to get the list populated before creating the schedule.

Note: RPC must be enabled for this script to work! Note: WSH v5.6 or newer must be installed

The concept is simple; run the script and the following happens:

  1. The script checks a file with a list of PXE Servers (creates one if it doesn't exist).
  2. It then checks all active connections, and parses through them to check for remote PXE Servers (a local PXE Server will show up as well).
  3. It compares the list of previous PXE Servers (from the list) with current PXE Servers and marks any missing PXE Servers and any new PXE Servers.
  4. It then makes an RPC call to restart the PXE Config Helper service on the remote PXE Servers who are not connected to the PXE Manager.
  5. It appends all new PXE Servers to the file.

Comments 9 CommentsJump to latest comment

erikw's picture

This is a solution i was waiting for.
Thanxs, i'm going to try this definetly
Regards
Erik
www.svs4u.nl

Regards Erik www.DinamiQs.com Dinamiqs is the home of VirtualStorm (www.virtualstorm.org)

*************************************************************
If your issue has been solved, Please mark it as solved
***********

0
Login to vote
rfoust's picture

Great idea! I decided to port this to Powershell since thats where I do all of my scripting now. You can see the port here:

http://www.duke.edu/~rfoust/scripts/check-pxeserve...

- Robbie

0
Login to vote
paro's picture

This is just lovely.

Thanks for the script Eric ;)

Cheers,

Patrik

[b][i]Altiris System Engineer[/b][/i]
[b][i]Asterio AB, Sweden[/b][/i]

[b][i]www.asterio.se[/b][/i]

Project Manager / Founder
Asterio AB, Sweden
www.asterio.se

0
Login to vote
jjesse's picture

Those PXE servers need to be contiunously restarted to keep working? Instead of running a scrpt to verify the remote pxe servers are working correctly?

Jonathan Jesse Practice Principal ITS Partners

+1
Login to vote
FalconV's picture

This isn't supplied as a fix in any way, shape or form. If you're having issues, get them resolved! This was supplied to hold you over while you get things figured out (ie, you have a big project you need to get finished up NOW or you lose your job, and then you can work out problems after). It is actually designed for an issue found where some pxe servers over a WAN may become disconnected, but when the connection is dropped, the remote PXE servers aren't made aware of this, so they don't attempt to reconnect. The script however was made general enough that it can be used to workaround other issues as well.

"I am a leaf on the wind, watch how I soar!" -Hoban 'Wash' Washburne

+2
Login to vote
cpratt's picture

Are you guys setting this as a DS task to keep running on a set schedule or through windows task scheduler?

0
Login to vote
Magnum45's picture

We modifed the script to be used locally on one ds server with one pXe server. We use windows schedule task to run this every 5 min's, and it works great.

So, why is the PXEService.exe failing constantly? It is starting to happen more and more and it is worrying me! About 10 times a day now.

Error log:
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000
Date: 12/20/2007
Time: 3:16:06 PM
User: N/A
Computer: ALTIRIS-DS
Description:
Faulting application PXEService.exe, version 6.8.8397.49, faulting module ntdll.dll, version 5.2.3790.1830, fault address 0x000224b2.

Data:
0000: 41 70 70 6c 69 63 61 74 Applicat
0008: 69 6f 6e 20 46 61 69 6c ion Fail
0010: 75 72 65 20 20 50 58 45 ure PXE
0018: 53 65 72 76 69 63 65 2e Service.
0020: 65 78 65 20 36 2e 38 2e exe 6.8.
0028: 38 33 39 37 2e 34 39 20 8397.49
0030: 69 6e 20 6e 74 64 6c 6c in ntdll
0038: 2e 64 6c 6c 20 35 2e 32 .dll 5.2
0040: 2e 33 37 39 30 2e 31 38 .3790.18
0048: 33 30 20 61 74 20 6f 66 30 at of
0050: 66 73 65 74 20 30 30 30 fset 000
0058: 32 32 34 62 32 224b2

0
Login to vote
paro's picture

Magnum.

Have you tried to update altiris PXE to the latest version? I know this new version only addresses the found exploit in PXE service but hey, you maybe get rid of the irregular behaviour by changing the one of the exe files.

(Note. This update applies to all 6.x versions)

Read all about it here: https://kb.altiris.com/article.asp?article=38304&p=1

Furthermore, could you post a copy of how you modified that vbs script?

Altiris System Engineer
Asterio AB, Sweden

www.asterio.se

Project Manager / Founder
Asterio AB, Sweden
www.asterio.se

0
Login to vote
FalconV's picture

Turns out I used some methods that aren't available in older versions of WSH. If you run it, it creates the servers.lst file, but doesn't populate it, either there are no servers connected, or (particularly if you're running Windows 2000 and haven't updated in a long time) you're on WSH 5.1 or something older than 5.6. Update your WSH version, and try again.

To check this, you can open the script and comment-out (add a single-quote (') to the beginning of) the line "On Error Resume Next" and the next time you run it you'll get an error (something to do with Sh.exec).

If anyone knows how to get around this to make it more backwards-compatible as well as future-ready please let me know, I don't have time to investigate it.

"I am a leaf on the wind, watch how I soar!" -Hoban 'Wash' Washburne

+1
Login to vote