perjantai 23. elokuuta 2013

Powershell skriptien käyttö tehtäväsarjassa


Microsoft Deploment Toolkit 2010 versiosta lähtien tehtäsarjat ovat voineet suorittaa powershell skriptejä. Tehtäväsarjaan voidaan lisätä Run PowerShell Script tyyppinen vaihe joka suorittaa jakokansion Scripts alikansiossa olevan Powershell Skriptin.

Ajatellaan esim. tilannetta jossa MDT palvelimella on vain yksi asennusjako (deploymentshare). Tätä jakoa halutaan käyttää sekä referenssityöasemien, että kohdekoneiden asentamiseen. Kun referenssityöasemaa asennetaan, täytyy varmistaa että referenssityöasemaa ei liitetä toimialueelle. Kun taas kohdetyöasemia asennetaan, halutaan niiden liittyvän toimialueelle osana asennusta.

Referenssityöaseman tapauksessa työryhmäliitos suoritetaan CustomSettings.ini tiedoston JoinWorkGroup=Workgroup määritteellä.

Kohdetyöasemien tapauksessa toimialueliitos suoritetaan CustomSettings.ini tiedoston JoinDomain=toimialue määritteellä

Molemmat määritteet on lisätty CustomSettings.ini tiedostoon ja tarvittaessa toinen niistä on tilanteen mukaan merkittävä kommenttiriviksi ; merkillä (esim. ;JoinDomain=toimialue)

Vaihtoehtona olisi jättää em. määritteet lisäämättä CustomSettings.ini tiedostoon ja käyttää sen sijaan tehtäväsarjakohtaisia Powershellskriptejä

Esimerkkinä Powershell skripti joka liittää työaseman toimialueelle

# Script_Name : ZTIJoinDomain.ps1
# Description : Join computer to the domain
# Version     : 0.1
# Created by  : Griffon
########################################################################

$StrUser="Administrator"
$StrDomain"=DEMO.LOCAL"
$StrPass=ConvertTo-SecureString P@ssw0rd -AsPlainText -Force
$Credentials=New-Object System.Management.Automation.PsCreditentials $StrUser, $StrPass
$StrOU="OU=Workstations,DC=DEMO,DC=LOCAL"

Add-computer -DomainName $strDomain -Creditential $Credentials
# Add-computer -DomainName $strDomain -Creditential $Credentials -strOUPath $StrOU

Kopioidaan siis yllänäkyvä skripti esim. ZTIJoinDomain.ps1 nimisenä asennusjaon Scripts kansioon. Lisätään tämän jälkeen kohdekoneiden asennukseen suorittavaan tehtäväsarjaan ylimääräinen vaihe joka viittaa ym. skriptiin. Vaihe on tyypiltään Run PowerShell Script ja listään esim. State Restore kohtaan.






















Tästä vinkistä kiitokset Griffonille ;)
http://c-nergy.be/blog/?p=4009

maanantai 19. elokuuta 2013

Referenssityöaseman asentamisen automatisointi

Uuden referenssilevykuvan luominen on aika ajoin välttämätöntä. Jotta uuden referenssityöaseman asentaminen kävisi mahdollisimman vähällä vaivalla kannattaa Microsoft Deployment toolkit palvelin konfiguroida siten että uusi referenssilevykuva luodaan automatisoidusti.

Referenssilevykuvan luomiseen kannattaa käyttää virtuaalityöasemaa:
Ensinnäkin referenssilevykuva kannattaa aina luoda käyttäen virtuaalityöasemaa. Virtuaalisessa työasemassa luotu referenssilevykuva on mahdollisimman geneerinen ja siinä ei viittauksia/sidonnaisuuksia mihinkään laitemerkkiin. Hyviä vaihtoehtoja ovat VMware ja Hyper-V. Xen ja VirtualBox sopivat hyvin asennusjärjestelmien testaamiseen mutta varsinaisesti referenssilevykuvan luomiseen niistä ei ole.

Tavoitteena on siis saada aikaiseksi tilanne jossa työasema jonka MACosoite on [AA:BB:CC:DD:EE:FF] käynnistää automaattisesti halutun Tehtäväsarjan, asentaa käyttöjärjestelmän ja kaappaa sen .wim tiedostoon.

Asennusjaon (deploymentshare) ja tehtäväsarjan (task sequence) muokkaaminen:
Jotta referenssityöaseman asentaminen ja kaappaaminen levykuvaksi olisi mahdollisimman automaattinen prosessi, tulee MDT palvelimen asennusjakoa ja käytettävää tehtäväsarjaa muokata.

Customsettings.ini tiedostoon lisätään määritykset jotka automatisoivat asennuksen tiettyä työasemaa (osoitettu MAC osoitteen avulla) käytettäessä

CustomSettings.ini tiedostoon tehtävät lisäykset:
;Lisää ensin Priority=MACAddress, Default
Priority=MACAddress, Default, .....
.....
[AA:BB:CC:DD:EE:FF]
DoCapture=YES
SkipCapture=YES
TaskSequenceID=Käytettävän_tehtäväsarjan_nimi
ComputerBackupLocation=NETWORK
BackupShare=\\MDT01\MDTReferenceBuild$
BackupDir=Captures
BackupFile=%TaskSequenceID%_#month(date) & "-" & day(date) & "-" & year(date)#.wim

Tehtäväsarjaan (Task Sequence) tehtävät muutokset:
Alla esitetty muutos itse asiassa keskeyttää referenssilevykuvan luomisen, mutta toisaalta mahdollistaa referenssityöaseman muuttamisen ennen varsinaisen referenssilevykuvan kaappaamista.

Avataan tehtäväsarja ja lisätään Install Applications komponentin alle uusi Run Command Line komponentti. Command line kenttään kirjoitetaan: cscript.exe "%SCRIPTROOT%\LTISuspend.wsf"















WSUS ja referenssityöasema:
MDT palvelinta varten kannattaa pystyttää oma WSUS palvelin jotta referenssityöasema olisi päivitysten osalta aina mahdollisimman ajantasainen.

CustomSettings
WSUSServer=http://palvelimen_nimi
WSUSServer=http://palvelimen_nimi:8530 (WSUS palvelin on 2012 R2 palvelimella)

Lisäksi WSUS päivittäminen täytyy asettaa päälle tehtäväsarjan ominaisuuksista