Friday 22 July 2011

MDT Paylaşım Lokasyonunu Otomatik Belirleme

MDT ile imaj olusturmaya baslayali uzun zaman oldu, simdi farkli lokasyonlardan da tek imaj , tek veritabani, tek paylasim kullanabilmek icin uzerinde calismaktayim, her lokasyonun kendi lokalinden kaynaklara ulasabilmesi icin SQL Replikasyonu, DFS-R gibi teknolojilerden faydalanmaktayim. Ancak dun DFS performansindan veya olasi DFS problemlerine karsin bu is baska nasil yapilir diye dokumanlari okurken BootStrap.ini de Gateway tanimlamalari ile lokasyon tanimlanabildigini buldum, bu ozellik cok hos , istemci gatewayinden nerede oldugunu ayirt edebilip ayarlari buna gore ozellestirebiliyorsunuz. Ankara'da isen Ankara paylasimina eris, su kullanici ile diyebiliyorsunuz.

Veya DeployRoot u tamamen bos birakabiliyorsunuz bu durumda sistem sizin yarattiginiz LocationServer.xml dosyasini okuyor ve kullaniciniza sizin tanimlamis oldugunu lokasyonlari listeliyor, bu yontemle ayni lokasyonda bir den fazla paylasiminiz var ise bunlara agirlik vererek yuku de dagitabiliyorsunuz.

Ben hem bootstrap.ini de gateway ve lokasyon degiskenlerini kullandim hem de eger lokasyonlardan birine eslesmedigi durumda LocationServer.xml i kullanmasi icin konfigure ettim.

BootStrap.ini de yapmaniz gereken

[Settings] altinda Priority i degistirmeniz olacak, boylelikle islem once Gateway eslesmelerine oncelik verecek ornegin :

[Settings]
Priority=DefaultGateway,Default

Daha sonra gatewayleri ve lokasyonlari tanimlayacaksiniz, ornegin

[Default Gateway]
192.168.1.1=Istanbul
192.168.3.1=Ankara

Daha sonra lokasyona ait ozellikleri asagidaki sekilde tanimlayabilirsiniz.

[Istanbul]
DeployRoot=\IstanbulSunucunuzDeploymentShare$ (MDT2010 oncesinde Distribution$)

[Ankara]
DeployRoot=\AnkaraSunucunuzDeploymentShare$ (MDT2010 oncesinde Distribution$)

Ikinci oncelik ise varsayilan yani Default, bu eslesme olmamasinda kullanicak ana yontem

[Default]

Buraya eslesme olmazsa kullansin diye bir sunucu tanimlabilirsiniz veya bos birakip sistemin LocationServer.xml okumasini isteyebilirsiniz.

Yukaridaki bolge degiskenlerine elbette normalde kullanabildiginiz UserID, UserDomain, SkipBDDWelcome vs gibi degerleri kullanabilirsiniz.

LocationServer.xml i yaratmak icin MDT dokumanini incelemeniz gerekiyor cunku kurulum klasorlerinde bulamayacaksiniz. Ben burada bir ornegi sizinle paylasacagim

2009-10-01 15.00-01
Ornegin yukaridaki gibi bir XML i yaratip Disk:DeploymentShareExtra FilesDeployControl altina kopyalayip imaji tekrar olusturursaniz boot sirasinda eger herhangi bir deployroot tanimi bulunamaz ise sistem size xml de tanimlamis oldugunuz sunuculari listeleyecektir. Extra Files klasorunu MDT de Share ozelliklerine Extra Files kismindan tanimlamalisiniz ki dosyayi imaj icina alsin, bunu atlamayiniz.

Ayni XML de bolgeye has ozellikleri de tanimlayabilirsiniz , ornegin alan kodu icin

2009-10-01 15.03-02

Fakat da bootstrap.ini de oldugu gibi paylasima erisecek kullanici tanimlanamamakta, bunun olmamasi benim planlarimi aksatmisti cunku yarattigim imajlar kurulumcuya sadece makine adi sormaya ayarli, geri kalan tum bilgileri klavye, alan kodu, domain, ou, uygulamalar vb seyleri zaten otomatize etmistim. Bunun uzerine MDT scriptleri nasil calisir diye arastirmaya basladim ve benim isimi gorecek bir cozum buldum, ayni seye ihtiyaci olacaklar icin umarim faydali olur.

ScriptsDeployWiz_Validation.vbs dosyasinda asagidaki kismi bulun
ValidateDeployRoot = FALSE

Do
On Error Resume Next
Err.Clear
If oFSO.FileExists(DeployRoot.value & "ControlOperatingSystems.xml" ) then

ve su sekilde eklemeyi yapin, normalde asagidaki ek daha alt satirlarda zaten degiskenleri okumak icin var ancak bu kod kullanici haklari size sorulduktan sonra calistigi icin, kullanici bilgileri icin kullanilamamakta, biz kullanici haklari kismindan once okuyacagiz parametrelerimizi,

ValidateDeployRoot = FALSE
For each oItem in oXMLSiteData.selectNodes("//servers/server")
If SiteList.value = oUtility.SelectSingleNodeString(oItem,"serverid") then
For each oVariable in oItem.selectNodes("otherparameters/parameter")
Set oName = oVariable.Attributes.getQualifiedItem("name","")
If not oName is Nothing then
oProperties(oName.Value) = oVariable.Text
End if
Next

End if
Next
Do
On Error Resume Next
Err.Clear
If oFSO.FileExists(DeployRoot.value & "ControlOperatingSystems.xml" ) then

Daha sonra asagidaki bolumu

oEnvironment.Item("UserID") = ""
oEnvironment.Item("UserDomain") = ""
oEnvironment.Item("UserPassword") = ""

su sekilde degistirin ki , XML den okudugumuz bilgileri eslestirelim,

oEnvironment.Item("UserID") = oProperties("UserID")
oEnvironment.Item("UserDomain") = oProperties("UserDomain")
oEnvironment.Item("UserPassword") = oProperties("UserPassword")

Asagidakileri de yukarida verilen ornekteki gibi parametrelere ekleyiniz.

2009-10-01 15.13-03

Imajinizi olusturup , boot ettiginiz de eger GW eslesmesi olmazsa veya bootstrap.ini de DeployRoot tanimli degilse sistem size bolge-sunucu listesini gosterecektir, ve siz secim yapip Next'e bastiginizda kullanici bilgileri ekrani doldurulmus gelecektir.

Iyi gunler.

Not:XML leri imaj seklinde koydum cunku blogger xml leri algilayip sadece atanmis degerleri gosteriyordu.

(MDT Paylaşım Lokasyonunu Otomatik Belirleme)

No comments:

Post a Comment