Macchina Universale Windows 7

Creazione del Master

Ci sono due possibili modalità per creare il master di partenza per creare i successivi cloni universali. Sfruttando le funzionalità dei nuovi sistemi operativi Vista e Seven, che rendono le installazioni quasi indipendenti dall’hardware, è possibile utilizzare una macchina fisica o una macchina virtuale per creare l’installazione master.

Master Virtuale

Creare una macchina virtuale con le opportune caratteristiche minime per ospitare una macchina Windows Seven o Vista effettuare l’installazione del sistema operativo, degli aggiornamenti di sistema e di tutti gli applicativi che si desiderano poi abilitare l’administrator effettuare l’accesso come tale ed eliminare l’utente con cui si sono effettuate tutte le installazioni. Creare nel disco “C:\” le cartelle “Admin” e “DriversPack” ed inserirci i file successivamente spiegati

Di seguito c’è il codice xml per la creazione del file “autounattend.xml” e la linea di comando da inserire nel file “sysprepcommand.cmd”, entrambi i file vanno inseriti nella cartella C:\Windows\System32\sysprep. Configurare la scheda di rete ethernet per ottenere automaticamente l’indirizzo IP. Eliminare eventuali connessioni eseguendo “net use /delete *”. Spegnere la macchina virtuale e catturare uno “Snapshot” chiamato presysprep. Riaccendere la macchina virtuale ed eseguire il file “C:\Windows\System32\sysprep\sysprepcommand.cmd” quando la procedura di sysprep termina e la macchina virtuale si spegne catturare un altro snapshot “postsysprep”. Avviare la macchina virtuale e controllare che il ripristino da sysprep termini e funzioni in maniera corretta. Se la Procedura è andata a buon fine si può tornare allo snapshot “postsysprep” ed avviare la macchina virtuale con clonezilla-live-1.2.3-1.iso per creare l’immagine da distribuire. Quando si deve aggiornare il sistema operativo del master o le applicazioni installate è necessario ripristinare lo snapshot “preSysprep” effettuare tutte le modifiche necessarie e fare il primo sysprep. Ripetere più volte il sysprep sulla stessa installazione mi ha creato problemi che impedisco l’avvio del sistema operativo e provocano il continuo riavviarsi della macchina in particolare l’errore emerso è: “Error : Windows could not parse or process unattend answer file for pass [Specialize]”

Configurare la macchina virtuale per effettuare l’avvio da un ISO di clonezilla

Modificare le proprietà della macchina virtuale, da macchina spenta selezionare cd\dvd drive mettere il segno di spunta “Connect at power on” selezionare il radio button “Datastore ISO file” effettuare “Browse” e scegliere clonezilla-live-1.2.3-1.iso. Nella Scheda “Options” selezionare “Boot Options” e impostare il “Power On Boot Delay” a 10.000 ms per avere 10 secondi prima dell’avvio così da poter premere “ESC” per visualizzare il boot menu e scegliere di avviare la macchina virtuale da cd-rom. Salvare l’immagine dove si desidera e scegliere savedisk in modalità beginner. Mentre quando si ripristina l’immagine occorre eseguire clonezilla in modalità expert lasciare le impostazioni predefinite tranne una, ad una determinata schermata quando si presenta la possibilità scegliere l’opzione “–k1” che permette di ripristinare un disco con unica partizione di dimensioni più piccole su un disco di dimensioni più grandi in un’unica partizione grande quanto tutto il disco di destinazione.

Un’altra problematica che presenta windows 7 è l’attivazione, dopo l’installazione si hanno 30 giorni per eseguirla, passato questo periodo è necessario effettuare da   -> “cerca programmi e file” “slmgr.vbs –rearm”. Il problema che potrebbe verificarsi è che non vada a buon fine l’attivazione automatica tramite il Server KMS di dominio quando si mette in rete il client ripristinato con l’immagine creata. Il “rearm” della licenza non può avvenire per più di 4 volte, va tenuto in considerazione che ogni volta che si effettua un sysprep la macchina ripristinata dopo il sysprep subisce un rearm della licenza

Master Fisico

Installare una macchina fisica con il sistema operativo Windows Seven, gli aggiornamenti di sistema e tutti gli applicativi desiderati, la partizione di sistema dovrebbe occupare dai 50 GB ai 100 GB. Abilitare l’administrator effettuare l’accesso come tale ed eliminare l’utente con cui si sono effettuate tutte le installazioni. Creare nel disco “C:\” le cartelle “Admin” e “DriversPack” ed inserirci i file successivamente spiegati

Di seguito c’è il codice xml per la creazione del file “autounattend.xml” e la linea di comando da inserire nel file “sysprepcommand.cmd”, entrambi i file vanno inseriti nella cartella C:\Windows\System32\sysprep. Configurare la scheda di rete ethernet per ottenere automaticamente l’indirizzo IP. Eliminare eventuali connessioni eseguendo “net use /delete *”. Spegnere il pc e catturare un’immagine con clonezilla chiamala presysprep. Riaccendere la macchina virtuale ed eseguire il file “C:\Windows\System32\sysprep\sysprepcommand.cmd” quando la procedura di sysprep termina e la macchina si spegne, quindi catturare un’altra immagine con clonezilla, quest’immagine sarà quella di distribuzione se dopo il primo avvio il ripristino da sysprep termina senza errori. Quando si deve aggiornare il sistema operativo del master o le applicazioni installate è necessario ripristinare l’immagine “preSysprep” effettuare tutte le modifiche necessarie e fare il primo sysprep. Ripetere più volte il sysprep sulla stessa installazione mi ha creato problemi che impedisco l’avvio del sistema operativo e provocano il continuo riavviarsi della macchina in particolare l’errore emerso è: “Error : Windows could not parse or process unattend answer file for pass [Specialize]”

Un’altra problematica che presenta windows 7 è l’attivazione, dopo l’installazione si hanno 30 giorni per eseguirla, passato questo periodo è necessario effettuare da   -> “cerca programmi e file” “slmgr.vbs –rearm”. Il problema che potrebbe verificarsi è che non vada a buon fine l’attivazione automatica tramite il Server KMS d’ateneo quando si mette in rete il client ripristinato con l’immagine creata.

Le Cartelle “Admin” e “DriversPack”

La Cartella “DriversPack”

La cartella DriversPack contiene tutti i driver scaricati dal sito internet http://driverpacks.net/ relativi a windows vista/seven x64 ( http://driverpacks.net/driverpacks/windows/7/x64 ) questi driver non sono inglobati nel sistema operativo nativo e occupano circa due giga di spazio. I file scaricati dal sito sono in formato .zip occorre scompattarli e collocarli nella cartella DriversPack perché lo script di reinstallazione dei driver cerca tutti i percorsi contenenti file .inf .

La Cartella “Admin”

La cartella “Admin” contiene 5 File devcon.exe, devicepath.reg, Devices.vbs, DinamicNetworkEjoin.vbs, macIP.txt.

Il programma devcon.exe è un utility che permette di eseguire operazioni sulle installazione dei driver delle periferiche da linea di comando, utile per l’utilizzo via script questo programma non è più direttamente reperibile dal sito microsoft per i sistemi vista e seven x64, per ottenerlo è stata utilizzata la procedura riportata a questo url (http://social.technet.microsoft.com/wiki/contents/articles/how-to-obtain-the-current-version-of-device-console-utility-devcon-exe.aspx) o qui. In Breve scaricare Windows Driver Kit scompattare l’iso trovare il file setuptools_x64fre.msi ed eseguire da riga di comando %SystemRoot%\System32\msiexec.exe” /a “setuptools_x64fre.msi” targetdir=”%temp%  trovare poi il devcon.exe in una delle sottocartelle del .msi appena estratto.

Il file devicepath.reg è il backup della chiave di registro originale HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath, serve per ripristinare la chiave allo stato iniziale. Il valore originale è “%SystemRoot%\inf”.

I due vbscript Devices.vbs e DinamicNetworkEjoin.vbs sono gli script che permettono l’installazione dei driver mancanti e la configurazione della scheda di rete e join al dominio. Il primo cambia la chiave di registro HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath che specifica al sistema i path dove cercare i file .inf, rimuove i dispositivi sconosciuti effettua la ricerca del nuovo hardware e delega al sistema la reinstallazione automatica dei nuovi driver il quale cerca i tutti i path riportati nella chiave prima indicata, infine mette in runonce di current user l’esecuzione del secondo script.

Il file macIP.txt è utilizzato dallo script DinamicNetworkEjoin.vbs per assegnare automaticamente ad un determinato macaddress un indirizzo ip. Nel file per ogni riga è riportato un macaddress e un indirizo ip separati da uno spazio il file è stato creato con notepad.exe.

Es: 00:17:42:xx:xx:xx 192.168.3.3

I due script generano un file di log minimale C:\U_logtFile.txt dove sono riportati i passi di esecuzione e gli eventuali errori.

Il file autounattend.xml

<?xml version=”1.0″ encoding=”utf-8″?>

<unattend xmlns=”urn:schemas-microsoft-com:unattend”>

<settings pass=”windowsPE”>

<component name=”Microsoft-Windows-International-Core-WinPE” processorArchitecture=”amd64″ publicKeyToken=”31bf3856ad364e35″ language=”neutral” versionScope=”nonSxS” xmlns:wcm=”http://schemas.microsoft.com/WMIConfig/2002/State&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”&gt;

<SetupUILanguage>

<UILanguage>it-IT</UILanguage>

</SetupUILanguage>

<InputLocale>0410:00000410</InputLocale>

<SystemLocale>it-IT</SystemLocale>

<UILanguage>it-IT</UILanguage>

<UserLocale>it-IT</UserLocale>

</component>

<component name=”Microsoft-Windows-Setup” processorArchitecture=”amd64″ publicKeyToken=”31bf3856ad364e35″ language=”neutral” versionScope=”nonSxS” xmlns:wcm=”http://schemas.microsoft.com/WMIConfig/2002/State&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”&gt;

<UserData>

<AcceptEula>true</AcceptEula>

<FullName>Titolare Della Macchina</FullName>

<Organization>Organizzazione – Compagnia</Organization>

</UserData>

<ImageInstall>

<OSImage>

<InstallTo>

<DiskID>0</DiskID>

<PartitionID>1</PartitionID>

</InstallTo>

</OSImage>

</ImageInstall>

<DiskConfiguration>

<Disk wcm:action=”add”>

<CreatePartitions>

<CreatePartition wcm:action=”add”>

<Order>1</Order>

<Type>Primary</Type>

<Extend>false</Extend>

<Size>52000</Size>

</CreatePartition>

</CreatePartitions>

<ModifyPartitions>

<ModifyPartition wcm:action=”add”>

<Active>true</Active>

<Format>NTFS</Format>

<PartitionID>1</PartitionID>

<Order>1</Order>

<Label>System</Label>

</ModifyPartition>

</ModifyPartitions>

<DiskID>0</DiskID>

<WillWipeDisk>true</WillWipeDisk>

</Disk>

<WillShowUI>OnError</WillShowUI>

</DiskConfiguration>

</component>

</settings>

<settings pass=”oobeSystem”>

<component name=”Microsoft-Windows-International-Core” processorArchitecture=”amd64″ publicKeyToken=”31bf3856ad364e35″ language=”neutral” versionScope=”nonSxS” xmlns:wcm=”http://schemas.microsoft.com/WMIConfig/2002/State&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”&gt;

<InputLocale>0410:00000410</InputLocale>

<SystemLocale>it-IT</SystemLocale>

<UILanguage>it-IT</UILanguage>

<UserLocale>it-IT</UserLocale>

</component>

<component name=”Microsoft-Windows-Shell-Setup” processorArchitecture=”amd64″ publicKeyToken=”31bf3856ad364e35″ language=”neutral” versionScope=”nonSxS” xmlns:wcm=”http://schemas.microsoft.com/WMIConfig/2002/State&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”&gt;

<OOBE>

<HideEULAPage>true</HideEULAPage>

<ProtectYourPC>1</ProtectYourPC>

<NetworkLocation>Work</NetworkLocation>

<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>

</OOBE>

<AutoLogon>

<Password>

<PlainText>false</PlainText>

<Value>cABpAHAAcABvAG4AZQBQAGEAcwBzAHcAbwByAGQA</Value>

</Password>

<Domain>%computername%</Domain>

<Enabled>true</Enabled>

<LogonCount>1</LogonCount>

<Username>Administrator</Username>

</AutoLogon>

<FirstLogonCommands>

<SynchronousCommand wcm:action=”add”>

<Order>1</Order>

<RequiresUserInput>true</RequiresUserInput>

<CommandLine>cscript //I C:\Admin\Devices.vbs</CommandLine>

</SynchronousCommand>

</FirstLogonCommands>

<UserAccounts>

<AdministratorPassword>

<PlainText>false</PlainText>

<Value>cABpAHAAcABvAG4AZQBBAGQAbQBpAG4AaQBzAHQAcgBhAHQAbwByAFAAYQBzAHMAdwBvAHIAZAA=</Value>

</AdministratorPassword>

<LocalAccounts>

<LocalAccount wcm:action=”add”>

<Password>

<PlainText>false</PlainText>

<Value>cABpAHAAcABvAG4AZQBQAGEAcwBzAHcAbwByAGQA</Value>

</Password>

<Description>Local Administrator</Description>

<DisplayName>Administrator</DisplayName>

<Name>Administrator</Name>

<Group>Administrators</Group>

</LocalAccount>

</LocalAccounts>

</UserAccounts>

<TimeZone>W. Europe Standard Time</TimeZone>

<ShowWindowsLive>false</ShowWindowsLive>

</component>

</settings>

<settings pass=”specialize”>

<component name=”Microsoft-Windows-Deployment” processorArchitecture=”amd64″ publicKeyToken=”31bf3856ad364e35″ language=”neutral” versionScope=”nonSxS” xmlns:wcm=”http://schemas.microsoft.com/WMIConfig/2002/State&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”&gt;

<RunSynchronous>

<RunSynchronousCommand wcm:action=”add”>

<Order>1</Order>

<Path>net user administrator /active:yes</Path>

</RunSynchronousCommand>

</RunSynchronous>

</component>

<component name=”Microsoft-Windows-Shell-Setup” processorArchitecture=”amd64″ publicKeyToken=”31bf3856ad364e35″ language=”neutral” versionScope=”nonSxS” xmlns:wcm=”http://schemas.microsoft.com/WMIConfig/2002/State&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”&gt;

<TimeZone>W. Europe Standard Time</TimeZone>

<ShowWindowsLive>false</ShowWindowsLive>

</component>

<component name=”Microsoft-Windows-IE-InternetExplorer” processorArchitecture=”amd64″ publicKeyToken=”31bf3856ad364e35″ language=”neutral” versionScope=”nonSxS” xmlns:wcm=”http://schemas.microsoft.com/WMIConfig/2002/State&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”&gt;

<StartPages>

<StartPage wcm:action=”add”>

<StartPageUrl>http://www.google.com</StartPageUrl&gt;

<StartPageKey>StartPage1</StartPageKey>

</StartPage>

</StartPages>

<LocalIntranetSites>DOMINIO</LocalIntranetSites>

<ShowMenuBar>true</ShowMenuBar>

<Home_Page> http://www.uniradiocesena.it</Home_Page&gt;

<DisableFirstRunWizard>true</DisableFirstRunWizard>

</component>

<component name=”Microsoft-Windows-TCPIP” processorArchitecture=”amd64″ publicKeyToken=”31bf3856ad364e35″ language=”neutral” versionScope=”nonSxS” xmlns:wcm=”http://schemas.microsoft.com/WMIConfig/2002/State&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”&gt;

<Interfaces>

<Interface wcm:action=”add”>

<Ipv4Settings>

<DhcpEnabled>false</DhcpEnabled>

</Ipv4Settings>

<UnicastIpAddresses>

<IpAddress wcm:action=”add” wcm:keyValue=”1″ />

</UnicastIpAddresses>

<Identifier>Connessione alla rete locale (LAN)</Identifier>

</Interface>

</Interfaces>

</component>

<component name=”Microsoft-Windows-DNS-Client” processorArchitecture=”amd64″ publicKeyToken=”31bf3856ad364e35″ language=”neutral” versionScope=”nonSxS” xmlns:wcm=”http://schemas.microsoft.com/WMIConfig/2002/State&#8221; xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”&gt;

<Interfaces>

<Interface wcm:action=”add”>

<DNSServerSearchOrder>

<IpAddress wcm:action=”add” wcm:keyValue=”1″> 8.8.8.8</IpAddress>

<IpAddress wcm:action=”add” wcm:keyValue=”2″> 8.8.4.4</IpAddress>

</DNSServerSearchOrder>

<Identifier>Connessione alla rete locale (LAN)</Identifier>

</Interface>

</Interfaces>

</component>

</settings>

<cpi:offlineImage cpi:source=”” xmlns:cpi=”urn:schemas-microsoft-com:cpi” />

</unattend>

Questo file è stato creato con “Windows System Image Manager”. Per Creare o Modificare un file delle risposte .xml occorre associare un file .wim o .clg (file catalongo associato alle immagini .wim) per selezionare componenti e assegnargli dei valori dal file delle risposte, creato il file delle risposte si deve chiudere il file .wim o .clg salvare il file che a questo punto è pronto per essere utilizzato nel sisprep. L’immagine seguente specifica i componenti utilizzati per il file delle risposte, mentre nel .xml precedente si possono anche controllare i valori dei vari componenti.

La password d’amministrator è “pippone”.

Il File delle risposte così configurato in particolare permette al riavvio della macchina dopo il sysprep di inserire il nome del computer, esegue l’ autologon dell’administrator, esegue come FirstLogonCommands Devices.vbs, che come ultima operazione inserisce in RunOnce di Current User DinamicNetworkEjoin.vbs, che si avvia sempre al primo logon di administrator, una volta eseguite tutte le operazioni l’ultimo script indicato permette anche il riavvio del computer che non effettua più l’autolog. Il client fa ora parte del dominio ed è pronto per l’utilizzo

Il File sysprepcommand.cmd esegue:

sysprep.exe /generalize /oobe /shutdown /unattend:autounattend.xml

occorre quindi lanciarlo solo ed esclusivamente dalla cartella C:\Windows\System32\Sysprep in questa cartella. Windows 7 ha già originariamente il programma sysprep nel percorso %SystemDrive%\Windows\System32\sysprep

WAIK File di Risposta

Operazioni Post Sysprep

1)      Inserire il Nome del PC

2)      Attendere la Finalizzazione

3)      Attendere che gli script per le reinstallazione dei driver finiscano prima di passare alla configurazione della scheda d rete.

4)     Seguire le indicazioni dell’interfaccia grafica proposta dallo script

5)     Inserire l’Indirizzo IP (inserire solo gli ultimi due ottetti)

6)     Inserire la Netmask (predefinita 255.255.255.0 già proposta)

7)     Inserire il Gateway (predefinito 192.168.x.254 già proposto)

8)     Se appare il messaggio “L’indirizzo IP è stato cambiato” la configurazione della scheda di rete è avvenuta correttamente

9)     Se il join va a buon fine appare il messaggio “Domain joined successfully. Restartmachine?” prima d cliccare “OK” premere ctrl+alt+canc e scegliere “cambia password” per impostare la giusta password di administrator, poi controllare che le cartelle C:\Admin e C:\DriversPack siano state cancellate dagli script altrimenti cancellarle manualmente ed infine riavviare cliccando “OK”

10)   Al riavvio potrebbe essere restituito un errore che non si ripresenterà ai riavvi successivi

11)   Scegliere cambia utente o riavviare la macchina

13)   Alla fine di tutto disabilitare l’utente “administrator”

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...