On Fri, Jul 29, 2011 at 11:20:20AM +0100, Richard W.M. Jones wrote:
On Fri, Jul 29, 2011 at 06:10:36PM +0800, Yufang Zhang wrote:
> Hi all,
>
> Could I ask if libguestfs provide some kind of tools via which we could
> modify network configuration of Windows guest image? It really makes sense
> if such tools exist, so that we could deploy several Windows guests from the
> same template image in a batch way automatically. Or do you have any hints
> to achieve this? Thanks.
virt-win-reg --merge WindowsGuest < changes.reg
http://libguestfs.org/virt-win-reg.1.html
However you need to know which registry entries you want to modify. I
don't know, off hand, but I'm sure it's easy to find out with some web
searching.
Probably you want to look at
HKEY_LOCAL_MACHINE\System\ControlSet001\Services\Tcpip
(note that ControlSet001 might be different for your template. See:
http://libguestfs.org/virt-win-reg.1.html#currentcontrolset_etc_ )
The guest's Hostname is stored directly as the "Hostname" entry in:
HKEY_LOCAL_MACHINE\System\ControlSet001\Services\Tcpip\Parameters
I only have Windows guests that get their configuration through DHCP,
so I am seeing lots of DHCP configuration entries in
...\Tcpip\Parameters\Interfaces\{...} I bet that if you had a
template with a static address, then that would appear somewhere under
there too.
If you let us know which exact bits of the network configuration you
are interested in modifying, I can probably help further.
Try using the virt-win-reg --unsafe-printable-strings option when
looking at the registry.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org