The INI is the answer again - you need to place it on a file share where all users have rights to write to the file. The example I presented above uses a single INI file to manage the data for all workstations. I assume you want to WOL those systems from some server that's running all the time. That server could read the INI file like this to get a list of all records and then enumerate them to send the WOL command:
 Code:
; Load array of MAC records from central INI file
$MACs = Split(ReadProfileString('some\path\PCData.ini'), Chr(10))
; Enumerate array to get IP address
For Each $Mac in $MACs
 ; read the IP address from the current MAC address in the table
 $IP = ReadProfileString('some\path\PCData.ini', $Mac, 'IP')
 $Cmd = 'poweroff.exe WOL -ip ' + $IP + ' -subnet 255.255.255.0 -mac ' + $Mac
 Shell $Cmd
Next

My example used the POWEROFF.EXE utility - your procedure (and mileage) may vary.

An INI file allows you to manipulate indivdual records. Short of actually using a database, it's the best tool we have for these kind of things.

What you're asking for is possible - load the file into an array and find/delete the array record. It's just a lot of coding compared to using the ini file. I have several scripts that use a "self-trimming log" where they write 2 lines, but remove the oldest 2 lines each time. It's a special case, not something I'd do on a regular basis, especially if I had control of the log file design/writing process.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D