I have a GhostCast server running for deploying images. I would like to have each ghost cast session to write to a file ( can be multiple text files or append to one file already there ) statistics. I know this is possible based on the options GhostCast software provides for writing to a log file, but I would like this automated for every image being backed up and restored. I don't want to have my employees click write to a new file every time.
Is this possible?
Well, the statistics that GhostCast itself writes out aren't very useful (and they're in a really dopey format). Given how bad the design of GhostCast itself is, probably what I would recommend is what I did to create a system we used internally in developing the product, which was also intended for customer use and I did document and show to customers at the time.
This tool (mcservice.exe) is still unreleased, as like many other pieces of work we did from 2008 on it was in effect lost when Symantec closed the development site and cancelled the Ghost Solution Suite product in early 2009. However, as it was used in our internal continuous build and test system to do the test automation, it's been exercised well and is still used and running in the site where the essential contracted maintenance is done today.
Now, I initially designed and wrote the majority of the management system in Ghost Solution Suite, and that small service wrapper builds off the same techniques I used to make that - making GhostCast properly reliable is almost impossible, but at least by papering over the bigger mistakes with scripting you can avoid 99% of that.
In order to support my management system, GhostCast will when run with the
-noninteractive
flag attempt to connect to a management service COM object, and it will poll that object with status (when clients connect and disconnect to a listening-but-not-started session) and regularly ask whether it should stop listening and move to the session send phase. Then, during the send phase it will occasionally send back progress information, and by making calls to that COM service it allows the service to be able to cancel an in-progress transmission.So, it's not that hard to create your own service wrapper; bind to the Ghost session query UDP port and listen for session-connections, dynamically launch GhostCast instances to serve those requests, dynamically choose to adjust how long to wait for more clients, and then see the session through and write some statistics out in an easy-to-parse form.
At this point then, you can go two routes; although the Ghost Solution Suite product is not being actively developed and most of our work from 2008 won't ever be released, it's still maintained. If your organization has a sales rep, I would go through them (especially if you have a maintenance contract) to see if you can get hold of this tool on an "as-is" unsupported basis - it's a standard part of the product build that's used every day. It may also be possible since there will likely be a maintenance rollup when Windows 8 is released, to even get this added to the product as an unsupported extra (I tried doing this at the time, but that was then; now the product has no future the thinking may be different).
Otherwise, you can write a crude equivalent from scratch by looking at the type libraries to get the COM interface information used by GhostCast to build a similar tool; the fact that one already exists (even if it's out of reach) shows what is possible, and that's half the battle.