!!! ACHTUNG - evtl. veraltet - ACHTUNG !!!
Diese Seite wurde zuletzt am 9. Juli 2014 um 10:50 Uhr geändert.
M$ Windoof XP (SP3) einfach so zu „imagen“ und auf mehr als einem Rechner „deployen“ ist nicht wirklich praktikabel (gleicher Hostname, gleiche SSID,…).
M$ Windoof XP (SP3) „einfach so“ vorher per sysprep „zurückzusetzen“ bringt einen, da man bei jedem Client das nervige Setup von Hand nochmal durchgehen muss, auch nicht viiieeel weiter voran.
Auch eine individuelle Antwortdatei (sysprep.inf) bringt uns an dieser Stelle nicht einen Schritt näher ans Ziel, wir bewegen uns dabei lediglich auf einer Parallelstraße, da danach alle Rechner zwar unterschiedliche SSIDs aber gleiche Hostnamen,… haben. Wir müssen zwar nichts mehr eingeben, aber „falsche Antworten“… naja!
Mit Bordmitteln von M$ Windoof XP wäre hier dann auch bereits schluss, und da ich im Zusammenhang mit M$ Windoof 7 bereits genug Zeit verplempert habe, habe ich mich mit einer Aufwertung von M$ Windoof XP mit Ruby und Co. nicht weiter aufgehalten sondern bin gleich analog zu M$ Windoof 7 weiter verfahren.
Warum ich das hier schreibe? Ganz einfach: Ich dachte, nach der Orgie mit M$ Windoof 7 sollte das mit M$ Windoof XP etwas schneller von der Hand gehen… WEIT GEFEHLT!
Nach der X-ten Neuinstallation und etlichen Runden „trail and error“ dachte ich mir, dass ich das Leid keinem anderen (außer meinen ärgsten Feinden wie Bill Gates, Steve Balmer,…) wünsche und das hier einfach mal niederschreibe.
So, nochmals genug Dampf abgelassen… hier die Fakten:
Analog zu M$ Windoof 7
Danach einfach
C:\sysprep\sysprep.exe -clean C:\sysprep\sysprep.exe -bmsd C:\sysprep\sysprep.exe -reseal -activated -mini -pnp -reboot
(passt alles übrigens wunderbar in eine Batch-Datei, die man dann als Administrator ausführt)
Ich benutze einfach die Datenbank, welche ich bezüglich M$ Windoof 7 bereits erstellt habe: Datenbank_mit_Client-Informationen
Analog zu Ruby-Stuff.
Damit „case“ funktioniert, müssen vorher noch die mbrs beider Images nach /usr/local/lib/sysprep/ kopiert werden:
cp <PFAD_ZU_DEN_GESPEICHERTEN_CLONZILLA-IMAGES>/<WINDOWS_**XP**_IMAGE>/sda-mbr /usr/local/lib/sysprep/**xp**-mbr.dd cp <PFAD_ZU_DEN_GESPEICHERTEN_CLONZILLA-IMAGES>/<WINDOWS_**7**_IMAGE>/sda-mbr /usr/local/lib/sysprep/**7**-mbr.dd
Analog zu POSTRUN jedoch mit einer erweiterten /usr/local/sbin/config_sysprep:
#!/bin/bash
WINVER ======
cmp /usr/local/lib/sysprep/xp-mbr.dd <( dd if=/dev/sda bs=512 count=1 2> /dev/null ) && WINVER="xp"
cmp /usr/local/lib/sysprep/7-mbr.dd <( dd if=/dev/sda bs=512 count=1 2> /dev/null ) && WINVER="7"
case $WINVER in
**xp** ) mkdir /mnt/sda1
ntfs-3g /dev/sda1 /mnt/sda1
/usr/local/sbin/sysprep_**xp**.rb
rm /mnt/sda1/WINDOWS/system32/\$winnt\$.inf
mv /mnt/sda1/WINDOWS/system32/merged.inf /mnt/sda1/WINDOWS/system32/\$winnt\$.inf
rm /mnt/sda1/WINDOWS/system32/host_user_group_autologon.bat
mv /mnt/sda1/WINDOWS/system32/merged.bat /mnt/sda1/WINDOWS/system32/host_user_group_autologon.bat
sync
umount /dev/sda1
;;
**7** ) mkdir /mnt/sda2
ntfs-3g /dev/sda2 /mnt/sda2
/usr/local/sbin/sysprep_**7**.rb
rm /mnt/sda2/Windows/Panther/unattend.xml
mv /mnt/sda2/Windows/Panther/merged.xml /mnt/sda2/Windows/Panther/unattend.xml
sync
umount /dev/sda2
;;
esac
exit 0
/usr/local/sbin/sysprep__xp.rb erstellen:
#!/usr/bin/ruby
# needed gems: sqlite3-ruby, activerecord, macaddr sowie inifile
require "rubygems"
require "active_record"
require "macaddr"
ActiveRecord::Base.establish_connection( :adapter => "sqlite3", :database => '/usr/local/lib/sysprep/sysprep.sqlite' )
class Client < ActiveRecord::Base
end
client = Client.find_by_mac_address( Mac.address.delete( ":-" ).downcase )
input = File.open( "/mnt/sda1/WINDOWS/system32/host_user_group_autologon.bat", "r" )
output = File.new( "/mnt/sda1/WINDOWS/system32/merged.bat", "w" )
input.readlines.each do |line|
if line =~ /\[[HOSTNAME\]]/
output.puts line.gsub( /\[[HOSTNAME\]]/, client.hostname )
elsif line =~ /\[[USERNAME\]]/
output.puts line.gsub( /\[[USERNAME\]]/, client.username )
else
output.puts line
end
end
output.close
input.close
exit 0
Analog zu M$ Windoof 7