Totaal aantal pageviews

vrijdag 30 maart 2012

Windows 7 (32-bit) Deployment

Het was me al gelukt om een OS te deployen door een nieuwe task sequence te maken en dan te kiezen voor de optie 'Build and capture a reference operating system image'. Als je dan een task sequence media aanmaakte, kreeg je een .ISO waarmee een client geïnstalleerd werd. Ook een .wim-file van deze cliënt werd dan opgeslagen. Het enige probleem was telkens dat de SCCM cliënt wel werd geïnstalleerd, maar ze werden nooit toegewezen aan de site. Online heb ik dan gelezen dat dit een bekende bug is waar Microsoft zelf van op de hoogte is. Dit valt manueel op te lossen door op de cliënt de configuration manager te openen en op het tabblad advanced op discover te klikken of zelf de site in te geven.

Omdat we niet telkens een .wim file willen opslaan telkens een OS word gedeployed, moet er een ander soort task sequence worden aangemaakt: Install an existing image package.
Hieronder geef ik de verschillende stappen weer om een .ISO te maken waarmee je een OS kan deployen.


  1. Bij packages kiezen voor “New package from definition” klik op configMgr Client Upgrade en kiezen voor de 2de optie: Always obtain files from a source directory. Dan de map kiezen waar CCMSETUP.EXE staat (\\Servernaam\SMS_SITECODE\Client) En bij de opties enkel het volgende ingeven: CCMsetup.exe /mp:Servernaam SMSSITECODE=Sitecode FSP=ip server
    Het is belangerijk dat je geen Server Locator Point meegeeft (SMSSLP) want dit wordt straks duidelijk.
  2. Alles van de ISO van Windows 7 kopiëren en op een gedeelde map op de server zetten
  3. Nieuw Operating System Install Package aanmaken in de SCCM console en verwijzen naar de bestanden die je net op de server zette.
  4. Nieuwe task sequence aanmaken (Build and capture a reference operating system) en verwijzen naar de package die we net hebben aangemaakt in stap 3.
  5. Nieuwe task sequence media aanmaken (stand-alone media) en deze .ISO toepassen op een nieuwe cliënt.
  6. Nieuwe operating system image aanmaken op basis van de .wim file die automatisch wordt gemaakt na de installatie van de cliënt (duurt een tijdje).
  7. Nieuwe task sequence aanmaken (install an existing image package) op basis van de aangemaakte operating system image.
  8. Nieuwe task sequence media aanmaken (stand-alone media) 
  9. Op basis van de gemaakte .ISO kunnen cliënts geïnstalleerd worden.



vrijdag 23 maart 2012

Probleem batchbestand/UNC-pad + software metering + overzicht silent installs

Het installeren van Euroglot is ook gelukt door het batchbestand niet te laten verwijzen naar het UNC-pad,
maar door het batchbestand in de installatiemap te zetten en deze hele map te laten kopieren tijdens het deployen.


Ook het probleem van Software Metering is opgelost, nu kan je wel zien welke software gebruikt werd, maar deze gegevens zijn nooit up to date, er zit een vertraging op van zo'n 24uur.

De komende dagen zal ik verder werken aan het optimaliseren van de silent installers tot alle gevraagde software kan gedeployed worden.
Hier al een overzicht van de software die ik nu al silent kan deployen:

Disable LMHost Lookup

Telkens een nieuwe pc wordt geïnstalleerd, moet LMHost Lookup worden afgezet, dit zit bij de geavanceerde opties van TCP/IP instellingen. Hiervoor heb ik een registerbestandje geschreven:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
"EnableLMHOSTS"=dword:00000000

Dit bestandje wordt dan opgevraagd in een batchfile:
Regedit.exe /s Disable_LMHOSTS.reg
Pushd is nodig omdat je normaal in de command line niet met UNC paden kan werken, hiermee wordt een tijdelijke netwerkschijf gemaakt.

donderdag 22 maart 2012

Custom silent installer (with VBScript)

Voor bepaalde software zijn er géén switches om een installatie op de achtergrond te laten lopen. In dat geval is er maar één oplossing: zelf een silent installer schrijven. Toen ik hier wat over opzocht, bleek dat VBScript hiervoor geschikt is.
Voor het programma PDFSam moest ik een installer script schrijven, het enige die nog moest gebeuren is de taal kiezen en op enter drukken. Omdat de taal standaard goed staat (Dutch), moest er enkel nog een druk op de enter toets worden gesimuleerd. Dit is de code om de installatie silent te laten verlopen:
Option Explicit
Dim objShell
Set objShell = CreateObject(“Wscript.Shell”)
objShell.Run “””pdfsam-win-v2_2_1.exe”” /S”
WScript.Sleep 1500
objShell.SendKeys “{ENTER}”
WScript.Quit

Voor de software DWG Trueview is de silent installer schrijven veel complexer:
eerst moet de .exe file gestart worden, hoe lang het duurt voor deze start is afhankelijk van computer tot computer. Omdat het script niet zou verder lopen als de .exe nog niet gestart is, heb ik wat extra code moeten bedenken om dit op te vangen:
Do
            count = count + 1
            if WshShell.AppActivate("DWG TrueView 2012") Then Exit Do
            WScript.Sleep 1500
            if(count > 10) Then Exit Do
Loop
In dit geval wordt er geprobeerd te focussen op het scherm die gestart wordt door de .exe file: WshShell.AppActivate(""). Elke 1.5 seconden wordt dit opnieuw geprobeerd en om niet in een oneindige lus te geraken, wordt deze voorwaarde slechts getest 15 seconden lang.
Daarna moet ik van pagina naar pagina gaan en de verschillende opties aanvinken. Momenteel ben ik er in geslaagd deze installatie te doen door de tab-, pijltjes- en entertoets te simuleren, maar omdat het aantal seconden dat moet gewacht worden tussen de verschillende acties verschilt tussen snelle en trage computers, staat deze code nog niet op punt.

    donderdag 15 maart 2012

    OS deployment with software + software metering / reporting

    Vorige week was het al gelukt Windows 7 te deployen op een client.
    Nu ben ik er al in geslaagd ook packages hier aan toe te voegen, m.a.w. ik heb Windows 7 automatisch kunnen laten installeren, en eenmaal aangemeld was de software (Mozilla Firefox, Office 2010, Winzip, .NET2.0) al geïnstalleerd. Dit heb ik gedaan door packages toe te voegen aan de Task Sequence. Deze task sequence moet dan geselecteerd worden als je een nieuwe Task Sequence Media aanmaakt. Nu ben ik bezig met alle software die op mijn lijstje staat te automatiseren (Silent install). Want anders kunnen deze niet met het OS worden gedeployed. Momenteel zit ik vast bij de installatie van Euroglot, omdat er een batchfile moet worden opgevraagd om dit te installeren. Op zich is dit geen probleem, maar in de batchfile wordt naar een UNC-pad verwezen, een netwerkpad dus. De commandline ondersteund dit standaard niet, daarom ben ik nu het batchfile aan het aanpassen om dit probleem op te lossen.
    Ook heb ik mij al bezig gehouden met Software Metering en Reporting. Het opvragen van wie bepaalde software heeft is al gelukt. Als ik bij Software Metering bijvoorbeeld kijk hoe vaak Firefox wordt gebruikt, dan krijg ik 0 te zien, ookal is er op verschillende clients van Firefox gebruik gemaakt. Na wat te googelen, zag ik dat dit een gekend probleem is: SCCM update de database maar iedere 24u.
    Een oplossing hiervoor had ik hier gevonden, maar het bestand 'runmetersumm.exe' is op mijn server niet te vinden. Daarom ga ik gewoon 24u wachten om te zien of de software metering werkt, ondertussen werk ik verder aan het automatiseren van de software voor de OS rollout.

    vrijdag 9 maart 2012

    OS deployment

    Na heel wat gezocht te hebben, is het gelukt om Windows 7 te deployen m.b.v. een ISO (Ik werk momenteel virtueel, dus een USB wordt niet herkend).
    Op mijn vorige post kan je zien dat ik problemen had om een eigen boot image te maken, dit is nu toch gelukt. Het probleem was dus dat ik een image niet kon "finalizen" zodat deze klaar was voor SCCM omdat peimg.exe niet meer herkend werd door WAIK3.0 (voor Windows 7).
    Door volgende stappen te volgen, heb ik dit probleem verholpen:

    • WAIK 1.1 te installeren op een Windows XP Client
    • peimg.exe te kopiëren uit de installatiemap van WAIK 1.1
    • WAIK 1.1 desinstalleren
    • WAIK 3.0 installeren op een Windows 7 Client
    • peimg.exe te kopiëren naar \Program files\Windows AIK\Tools\PETools\
    Door deze stappen kon peimg.exe wel gebruikt worden en kreeg ik geen foutmelding meer bij het importeren in SCCM.
    Dan moest ik bij deze image nog nieuwe distributiepunten aanmaken en updaten. Daarna kon ik een nieuwe Task Sequence Media aanmaken op basis van deze bootimage en een Operating System Install Package.
    Nu heb ik een lijst gekregen met alles die moet gebeuren op het moment dat een nieuwe pc wordt geïnstalleerd, dit gaat van het ip-adresinstellen, het toevoegen aan een domein, heel wat software installeren, enz.
    Volgende week zal ik dus stap voor stap alles proberen te automatiseren.

    donderdag 8 maart 2012

    Custom boot image

    Na vorige week ziek te zijn, ben ik deze week al constant bezig met het proberen van een boot image te maken van Windows 7 Service Pack 1.
    Omdat een PxE-boot (boot via netwerk) het netwerk teveel zou belasten in productie, werd mij gevraagd om een image te maken, die dan op een USB-stick zou kunnen gezet worden. Op deze manier zouden nieuwe computers dan gewoon volledig geïnstalleerd worden via de image op de USB.
    Het is niet voldoende om gewoon het besturingssysteem te laten installeren. Het is de bedoeling dat de PC volledig klaar wordt gezet zonder verdere interactie.
    Daarom moet er gebruik gemaakt worden van een Task Sequence in Configuration Manager 2007.
    Er is nood aan een basisimage die dan voor verschillende merken van computers kan bewerkt worden met de juiste drivers.
    Via deze image moeten volgende elementen geïnstalleerd worden:

    • Windows 7 SP1
    • Toevoeging aan het domein Sadef
    • Installatie van software (Virusscanner, Office, SAP, ...)
    Als er een besturingssysteem wordt geïnstalleerd, word er tijdens deze installatie eerst een lichte vorm van een besturingssysteem geïnstalleerd. Dit noemt Windows Preinstallation Environment (Windows PE). Dus als je een image maakt, moet er een vorm van Windows PE in geïntegreerd zitten, dit is een .wim bestand.
    Om dit .wim bestand te hebben, moet je eerst Windows AIK installeren.
    Standaard als je SCCM2007 installeert, zijn er reeds 2 bootimages aanwezig (x64 en x86). Maar dit is nog niet voor de Windows 7 familie, daarom moet je zelf een eigen bootimage maken.
    Dit heb ik gedaan door deze tutorial te volgen, vanaf het stuk waar staat "With WinPE3.0", want het is maar vanaf deze versie dat Windows 7 wordt geondersteund.
    Op een bepaald moment moet je in deze tutorial packages toevoegen, enkele hiervan zijn essentieel om het compatibel te maken met SCCM.
    Na alle stappen te volgen heb je een .wim file, die je dan kan inladen in SCCM bij de boot images.
    Tijdens het inladen van dit bestand, kreeg ik telkens dezelfde foutmelding: "You can not import this boot image. Only finalized boot images are supported".
    Als ik dan via de ingebouwde helpfunctie meer uitleg zocht, zag ik dat een finalized boot image minstens volgende 3 componenten moest bevatten:
    • Scripting
    • WMI
    • XML
    Maar deze pakketten had ik wel toegevoegd tijdens het maken van de image.
    Daarom zocht ik verder wat de oorzaak kon zijn, uiteindelijk heb ik gelezen dat SCCM2007 maar vanaf SP2 Windows 7 ondersteunt. Nu ben ik aan het zoeken of er geen patches zijn om dit probleem op te lossen. Anders moet ik heel SCCM opnieuw installeren.