Well, aside from answering the question that Les posed about using the RunOnce key... here is some SILVER PLATTER code that will perform the task you've asked to do.

This code should run on all workstations remotely as long as you have Administrator rights on the system and the default Admin shares have not been disabled. Local users that have Admin rights should also be able to run it.

Code:
Break On

Dim $SO
$SO=SetOption('Explicit','On')
$SO=SetOption('NoVarsInStrings','On')

Dim $strComputer,$UserKeys,$Key,$Profile,$wl,$cf,$CUD,$Remote,$ERR
$strComputer='some remote computer name'
$strComputer = SNVerify($strComputer)
$Profile='HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList'
$UserKeys=ArrayEnumKey($strComputer+$Profile)

For Each $Key In $UserKeys
$CUD=ExpandEnvironmentVars(ReadValue($strComputer+$Profile+'\'+$Key,'ProfileImagePath'))
$Remote=$strComputer+SubStr($CUD,1,1)+'$'+Right($CUD+'\Desktop',-2)
If Exist($Remote)
If Exist($Remote+'\Test.bat')
Del $Remote+'\Test.bat'
EndIf
If Open(1,$Remote+'\Test.bat' , 5 ) = 0
$wl = WriteLine( 1 , '@@Echo Off' + @CRLF )
$wl = WriteLine( 1 , 'Echo Testing' + @CRLF )
$wl = WriteLine( 1 , 'Pause ' + @CRLF)
$wl = WriteLine( 1 , 'DEL ' + '"' + $Remote+'\Test.bat' + '"' + @CRLF)
$cf = Close(1)
Else
BEEP
? 'Failed to open / create file, error code : [ ' + @ERROR + ' - ' + @SERROR + ' ]'
Get $ERR
EndIf
EndIf
Next

Function ArrayEnumKey($regsubkey)
Dim $retcode, $subkeycounter, $currentsubkey, $subkeyarray
If Not KeyExist($regsubkey)
Exit 87
EndIf
$subkeycounter=0
Do
$currentsubkey=EnumKey($regsubkey,$subkeycounter)
If Not @ERROR
ReDim Preserve $subkeyarray[$subkeycounter]
$subkeyarray[$subkeycounter]=$currentsubkey
$subkeycounter=$subkeycounter+1
EndIf
Until @ERROR
$arrayenumkey=$subkeyarray
Exit 0
EndFunction

Function SNVerify($System, Optional $Reverse)
$SNVerify = Join(Split($System, '\'), '', 3)
$SNVerify = IIf(Not $Reverse And $SNVerify <> '', '\\' + $SNVerify + '\', $SNVerify)
Exit 0
EndFunction