Link to home
Start Free TrialLog in
Avatar of djdidge
djdidge

asked on

Need an app to multicast files

Hi, Im hosting a LAN party this month. Inherent with such an event is the large volume of cd images that are transfered multiple times to many clients. This takes time and can get irritating.

Does anybody know of a server/client app that will send files to multiple machines silmultaniously, therefore not hammering the server's bandwidth beyond a single transfer.

Any suggestions would be appreciated

DiDGE out............
Avatar of jimbonics
jimbonics

Symantec Ghost works wonders, but I'm unaware of it's ability to push just a cd image to an existing OS install...

What server are you running?
Avatar of djdidge

ASKER

i use Ghost at work... to my knowledge it only restores partitions, essentially cloning pcs.

To my knowledge there is no facility for individual files (i dont think the in-image browser to restore files within an image will work) though as this is the only post i have to go on for now, i will investigate.

Thanks for your post.

DiDGE
ASKER CERTIFIED SOLUTION
Avatar of danzigk
danzigk

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of djdidge

ASKER

I cant see how this would distribute to multiple clients, you can only enter one computer path...
the script was not quite the answer, but an ideea of what you could do with a simple .vbs script.
here is something more specific - but also is NOT COMPLETE !!! you must modify the script to meet your needs !!!
--------------------
technical resource
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/swbemservices_execmethodasync.asp
-------------------- the script-------------
' Connect to WMI
set Services = getobject("winmgmts:root\cimv2")

' Obtain the class definition object of a Win32_Process object.
Set oProcess = Services.Get("Win32_Process")

' Create the SWbemMethod.InParameters object to hold the input parameter needed
' for the Win32_Process.Create method call. The oProcess.Methods_("Create") call
' obtains a class object that defines the correct input parameters
' for the Win32_Process.Create call. The InParameters object is an
' SWbemObject object so SWbemObject.SpawnInstance_ can be called to create it.

Set oInParams = oProcess.Methods_("Create").InParameters.SpawnInstance_
' modification 1
oInParams.CommandLine = "Notepad.exe"

' Create sink to receive event resulting from the ExecMethodAsync call.
set Sink = wscript.CreateObject("WbemScripting.SWbemSink","Sink_")

'Call SWbemServices.ExecMethodAsync with the WMI path Win32_Process.

'modification 4

bDone = false
Services.ExecMethodAsync Sink, "Win32_Process", "Create", oInParams

' Call the Win32_Process.Create method asynchronously. Set up a
' wait so the results of the method execution can be returned to
' the sink subroutines.

' modification 5

while not bDone    
    wscript.sleep 1000  
wend

' Sink subroutines
sub Sink_OnObjectReady(oOutParams, oContext)
    wscript.echo "Sink_OnObjectReady subroutine " &VBCR & "ReturnValue = " _
    & oOutParams.ReturnValue &VBCR & "ProcessId = " & oOutParams.ProcessId
end sub

sub Sink_OnCompleted(HResult, LastErrorObj, oContext)
    wscript.echo "Sink_OnCompleted subroutine, hresult = " & hex(HResult)
    bdone = true
end sub
--------------end_of_script--------------

modifications:
1. you should replace "notepad.exe" with "cmd /k copy source "
2. create an array that contents all destinations
3. create another array of boolean values initiated with false (these two arrays must have the same length)
4. create a loop:
    str_temp = oInParams.CommandLine
    for i = 1 to len_array
        oInParams.CommandLine = str_temp & destinations[i]
        bDone[i] = false
        Services.ExecMethodAsync Sink, "Win32_Process", "Create", oInParams
    next

5. create aother loop for monitoring:  

while not show_ok
   sleep 1000
wend

function show_ok
    var_done = true
    for i = 1 to len_array
        var_done = var_done and bdone[i]
    next
end function

something like this !
Avatar of djdidge

ASKER

i will need some time to check this out.... thanks for you post :o)
unfortunately i also have no time to do this modifications (and check them out)... but my guess is that they will work just fine !
i've got another solution...
it's a DOS Batch file... it should work fine in a dos box under Windoze:
------------------
@echo off
FOR /F %i in (comp_list.txt) do cmd /c copy sourcefile %i
------------------
requirements:
comp_list.txt - a text file with the names of computers on each line (comp with path WITHOUT SPACES!!!)

running:
the command parse the comp_list.txt data file and for each line in file executes the command:
cmd /c copy sourcefile %i

if the command is without cmd /c... than is executes sequentially !!!
with the cmd /c parameter... windows will start a new thread for the command and will return the control to the batch (so the next command is ready to go... and so on)

success !!!
question still open :-?
Avatar of turn123
djdidge,
No comment has been added lately (47 days), so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area for this question:

RECOMMENDATION: Award points to danzigk http:#9171990

Please leave any comments here within 7 days.

-- Please DO NOT accept this comment as an answer ! --

Thanks,

turn123
EE Cleanup Volunteer