Esipuhe
Ghost Solution Suite (GSS) on Symantecin tekemä työkalu työasemien keskitettyyn hallintaan. Itse olen ylläpitänyt mikroluokkia tällä työkalulla jo useamman vuoden, joten uskallan väittää tietäväni asiasta jotain :) Tästä järjestelmästä saa esittää rohkeasti kysymyksiä. Pyrin vastaamaan parhaani mukaan.
GSS-palvelimen asennus
Ennen asennusta valmisteltavat asiat
Jotta GSS pystyy hoitamaan tehtäviään, pitää sille luoda käyttäjätunnus aktiivihakemistoon tietyillä oikeuksilla. Tätä käyttäjätunnusta kutsutaan Console Service Accountiksi.
Luo AD:hen käyttäjätili. Hyvänä käytäntönä on poistaa salasanan vanhentuminen käytöstä, koska vain GSS käyttää tätä tiliä. Lisäksi on tietoturvallisesti järkevää lisätä käyttäjä Deny logon locallyyn Default Domain Policyssa, jolloin estetään käyttäjätunnuksen väärinkäytökset.
Seuraavaksi Delegate Control-ominaisuudella annetaan lisäoikeuksia haluttuihin OU:hin. Tietoturvasyistä ei ole järkevää antaa oikeuksia kaikkialle vaan ainoastaan sinne missä niitä tarvitaan. Oikeudet asetetaan kuvien mukaisesti.
Työasemien palomuuriin on AD:sta määriteltynä seuraavat poikkeukset:
- Ohjelma: C:\Program Files\Symantec\Ghost\ngctw32.exe, scope: Ghost-palvelin
- File and printer sharing kaikki portit, scope: Ghost-palvelin
Näin mahdollistetaan työasemien käsittely ilman, että koneisiin pitää ensin kiertotietä asentaa GSS:n clientti. Scopella suojataan ettei avattuja reikiä käytetä hyväksi muualta. Tietenkin clientin voi asentaa vaikka gpo:lla. Tällöin File and printer sharingin avaaminen ei ole tarpeellista. Itse olen kuitenkin käyttänyt Ghostin omaa clientin asennustyökalua, jolloin File and printer sharing pitää olla auki. Kun client asentuu, se osaa avata ngctw32.exelle reiän, mutta jättää scopen avoimeksi. Tämän takia palomuurisäännön määrittely keskitetysti on järkevää.
GSS ohjelmiston asennus
Avaa Ghost Console (Start -> All programs -> Symantec Ghost). Ensimmäiseksi saat varoituksen siitä, että lisenssiä ei ole annettu. Kuittaa se OK:lla. Seuraavaksi aukeaa itse Cconsole. Aukeavasta ikkunasta valitse "Domains".
Valitse "Edit" ja anna aiemmin luomasi Console Service Accountin käyttäjätunnus ja salasana.
Tämän jälkeen paina "Add…" ja anna domainisi nimi. Muista ottaa täppä pois Service Accountin luomisesta, sillä kyseinen tunnus on jo aiemmin tehty. Jos tekee Service Accountin tätä kautta, pitää sille käydä erikseen delegoimassa oikeudet. Samoin asennuksen tämä vaihe on suoritettava tunnuksella, jolla on oikeudet tehdä käyttäjätunnuksia domainiin.
Seuraavaksi rekisteröidään console. Valitse Help -> Register Console.
Etsi Browsella lisenssitiedosto ja paina OK.
Kunhan lisenssitiedosto on ollut kelvollinen saat siitä ilmoituksen, jonka jälkeen voit nähdä lisenssitilanteesi.
GSS on nyt käyttövalmis.
Ghost Solution Suiten työkalut
GSS on kokoelma erilaisia työkaluja. Tässä osiossa käydään pintapuoleisesti läpi nämä työkalut.
AIBuilder
Tällä työkalulla voi muokata Ghostin ohjelmistopaketointiformaatti AI:n paketteja. Itse pakettien luomiseen käytetään AutoInstall-työkalua.
Ghost Boot Wizard
Boot Wizardilla voi luoda Ghost-buuttilevyjä tai -imageja. Lisäksi olemassa olevia imageja voi muokata mm. lisäämällä uusia ajureita. Valmiina ovat PC-DOS ja Windows PE. MS-DOSsin tai Linuxin käyttö vaatii erillisiä toimenpiteitä. PC-DOS -version etuna on keveys, kun taas Windows PE on helpommin muokattavissa ja sillä on huomattavasti parempi tuki ajureille. Lisäksi Deploy Anywhere-toiminto toimii vain Windows PE:n kanssa. Toisin sanoen PC-DOSsia kannattaa käyttää vain todella vanhojen koneiden kanssa (esim. jos koneessa on alle 256mb muistia, jolloin Windows PE ei edes käynnisty).
Ghost Console
Console on koko järjestelmän keskus, jonka kautta suoritetaan lähes kaikki toimenpiteet.
Ghost Explorer
Tällä työkalulla voi katsella, muokata, lisätä ja kopioida tiedostoja Ghostin image-tiedostoista.
GhostCast Server
Työkalu jolla luodaan ja levitetään imageja. GhostCastia voi käyttää yksinään tai consolen kautta.
User Migration Package Explorer
Käyttäjämigraatiolla luotujen pakettien avaamis- ja muokkaustyökalu.
GSS-Scripts
GSS-Scripts on kokoelma skriptejä erinäisiin ylläpitotoimenpiteisiin. Ne löytyvät kansiosta C:\Program Files\Symantec\Ghost\scripts. Lisäksi näistä paranneltuja versioita löytyy http://code.google.com/p/gss-scripts/
Parannellusta skriptipaketista löytyy seuraavat skriptit:
account.wsf: Service accountin luontiskripti. Tämä skripti toimii ennemminkin mallina millainen service accountin pitäisi olla, sillä se ei osaa rajata oikeuksia tiettyihin OU:hin tai määritellä deny log on locallya tms.
backupdb.wsf: Luo varmuuskopion GSS:n asetuksista, salasanoista yms.
clientname.wsf: Etsi tietoa clienteistä suoraan GSS:n tietokannasta.
delclients.wsf: Etsii kaiken tiedon clientistä ja poistaa sen ja viittaukset tietokannasta. Tietyissä tilanteissa clientin poistaminen consolen kautta on lähes mahdotonta ja silloin tämä on hyvin hyödyllinen työkalu.
delfolders.wsf: Tekee saman kuin delclients, mutta poistaa kansioita.
password.wsf: Resetoi tietokannan hallinnan käyttäjätunnuksen salasanan.
restoredb.wsf: Palauttaa backupdb:llä otettuja tietoja.
setaccount.wsf: Mahdollistaa Service Accountin asettamisen komentoriviltä.
tail.wsf: Tämän skriptin tarkoitus on minulle hieman hämärän peitossa:)
GSS clientin asennus
Jotta GSS pystyy hallitsemaan koneita, pitää niihin asentaa ohjelmisto, jonka kautta se tapahtuu eli client. Clientin voi asentaa manuaalisesti kone kerrallaan, AD:sta msi-pakettina tai consolen Remote Client Installation-toiminnolla.
Valitse Tools -> Remote Client Install…
Valitse haluamasi kone tai koneet ja paina Add ». Painamalla Add… voit syöttää koneen manuaalisesti.
Syötä tunnus, jolla on admin-oikeudet domainissa tai workgroup-tilanteissa paikallinen admin-tunnus.
Paina Install.
Lopuksi saat ilmoituksen onnistuneesta asennuksesta. Jos asennus jostakin syystä epäonnistuu, voit ratkoa ongelmaa tarkistamalla lokitiedoston.
Onnistuneen asennuksen jälkeen kone ilmestyy Machine Groups -> Default kansioon. Tuplaklikkaus avaa koneen tiedot.
Imagen teko
Mene consolessa Configuration Resources -> Images -> New Image.
Anna imagelle nimi ja määrittele sen sijainti.
Tasks -> New Image Create Task
Anna tehtävälle nimi. Määrittele Source Machine sekä image, johon tieto tallennetaan. Jos mallikone on domainissa, muista lisätä täppä kohtaan Remove Machine from Domain before taking an image. Lopuksi paina Save ja sitten Execute. Nyt mallikone käynnistyy uudestaan ja Ghost aloittaa imagen oton.
Image on nyt valmis jatkokäyttöä varten.
Imagen levitys
Imagella voidaan asentaa keskitetysti suuriakin määriä koneita. On kuitenkin otettava huomioon että image on HAL-riippuvainen eli koneen pitää olla samanlainen kokoonpanoltaan. Deploy anywhere (DA) -toimintoa hyödyntäen tämä voidaan kiertää. Tällöin tarvittavat ajurit pitää kuitenkin löytyä ajuritietokannasta. DA:n suurimpana heikkoutena on se, että se osaa levittää vain network- ja storage-ajureita (eli äänikorttien, näytönohjainten yms. ajureita ei voi tällä levittää).
Nimeä tehtävä, valitse Clone ja Configuration sekä kohdekone tai ryhmä.
Jos kone on sammuksissa ja sen BIOSsissa on sallittu WakeOnLAN (WOL) -käynnistys, voit herättää sen tehtävää varten "Use WOL when executing a task" -toiminnolla.
HUOM! GSS käyttää oletuksena multicast-liikennettä. Tämä asettaa tietoliikenneverkolle vaatimuksia. Kytkimissä pitää olla multicasting-tuki ja se pitää olla niissä kytkettynä päälle. Jos näin ei ole tehty ja käytetään multicastingia, on lopputuloksena liikenteen puuroutuminen. Optimiolosuhteissa tiedonsiirtonopeus on noin 700-900 Mb minuutissa riippumatta siitä asennetaanko 1 vai 20 konetta kerralla (luonnollisesti eri teknologioiden kehittyminen tulee parantamaan tätä jatkuvasti).
Clone-välilehdellä määrittele käytettävä image. Muista myös ottaa käyttöön Ghostwalkerin SIDin uusiminen.
Configuration-kohdassa määritellään mistä koneen asetukset määritetään (nimi, domain, OU, yms.).
Default: käyttää kohteen nykyisiä asetuksia. Haluttaessa niitä voi käydä muuttamassa Properties -> Configuration -> Edit. Näin tehtäessä uudet säännöt tulevat voimaan, kun koneeseen ajetaan Configuration-tehtävä (Configuration voi ajaa erikseenkin ilman clonea).
Template: Configuration Resources -> Configurations-kohtaan voi luoda mallipohjia, joita voi käyttää tässä.
Custom: Tällä toiminnolla voit yhdistää koneen nykyisiä ja templatella tehtyjä asetuksia.
Lopulta tallenna ja sulje tehtävä.
Valitse juuri tehty tehtävä ja paina Execute Task. Nyt kone asentuu määritysten mukaisesti automaattisesti.
AutoInstall
AutoInstall on työkalu, jolla luodaan Consolella levitettäviä AI-paketteja. Paketinluonti perustuu nauhoittamiseen.
Koneessa, johon AutoInstall asennetaan, ei saa olla asennettuna consolen clienttiä. Lisäksi käyttöjärjestelmäversio olisi hyvä olla sama kuin ympäristössä, johon paketti levitetään. Sekä järjestelmä tulisi olla mahdollisimman puhdas. Esim. virtuaalikone on kätevä, koska sen muutokset voi kätevästi poistaa käytön jälkeen.
Kun järjestelmäntarkistus on suoritettu valitse Browsella paketoitavan ohjelman asennustiedosto. Ja paina Monitor jolloin asennus alkaa. Asenna ohjelma haluamallasi tavalla.
Anna paketille nimi ja paina Compare
Nyt voit tehdä manuaalisesti muutoksia pakettiin tai sitten painamalla Build jolloin lopullinen AI-paketti luodaan
Paketti on nyt valmis ja voit siirtää sen Consoleen. Paketin voi asentaa myös manuaalisesti tai skriptillä.
Mene Consolessa Configurations Resources -> AI Packages ja valitse New AI Package.
Nimeä ja valitse käytettävä paketti.
Software And File Actions
On olemassa ryhmätoimintoja, joihin kuuluu AI-pakettien asennus ja poisto, tiedostojen siirrot ja komentojen ajaminen clienteissa.
Execute a Command
Hyvin kätevä ja hyödyllinen työkalu. Idea on hyvin yksinkertainen: tee keskitetysti komentoja client-työasemiin. Komennot ajetaan työasemissa SYSTEM oikeuksilla. Kaikki, minkä voi tehdä paikallisesti cmd:stä, onnistuu tässäkin - aina kopioinnista ohjelmien asennukseen.
Syötä haluamasi komento. Komento ajetaan kohdekoneessa, joten mitään etäkomentoja ei tarvitse tehdä. Voit myös kirjoittaa valmiiksi bat-/cmd-tiedoston, jonka määräät ajettavaksi.
Jos ajat kerralla useamman komennon ja haluat etteivät komennot mene "päällekkäin", määritä että console odottaa kuittausta komennon suorittamisesta. Lisäksi kannattaa miettiä kannattaako tehtävän antaa jatkua, jos se jostain syystä jossain kohdassa epäonnistuu. Komentojen epäonnistuessa saat raportissa ajamasi komennon virheilmoituksen.
Move up- ja Move down-napeilla voit määritellä missä järjestyksessä komennot ajetaan (ylin ensimmäisenä jne.)
Retrieve a File
Noutaa clientiltä tiedostoja haluttuun paikkaan.
Määritä clientillä sijaitseva tiedosto ja Browsella sijainti, jonne tiedosto kopioidaan.
Transfer Files and Folders
Kopioi clienteille tiedostoja tai kansioita.
Valitse lähetettävä tiedosto tai kansio ja sijainti clientillä, jonne haluat tiedoston sijoittaa.
Install & Uninstall AI Package
AI-pakettien asennus ja levitys.
Valitse asennettava paketti. Poistossa valitaan myös paketti, joka on jo asennettu ja halutaan poistaa.
Inventointi
Inventointi jakaantuu kolmeen osaan: Filter, Report ja View. Filterillä määritellään mitkä clientit täyttävät ehdot antamalla ehtoja. View taas esittää halutusta kohteesta tietyt tiedot. Report on sitten edellämainitut kaksi toimintoa yhdistävä toiminto, joiden tuloksesta luodaan raportti. Filteriin ja Viewiin on tehty valmiita pohjia, joita voi käyttää. Lisäksi voit luoda uusia ja muokata olemassa olevia pohjia.
Jotta tietoa pystyy käsittelemään, pitää se ensin kerätä clienteiltä. Tämä tapahtuu ajamalla tehtävä ja laittamalla Refresh Inventory päälle. Itse olen ottanut käytännöksi pitää kyseistä ominaisuutta aina päällä, kun jotain tehtävää ajetaan. Näin tiedot tulee päivitettyä inventointia varten. Pelkän Refreshinkin voi ajaa tehtävässä.
Clientit, joista ei ole kerätty inventointitietoja, löytyvät Dynamic Machine Groups -> Inventory not Collected or Incomplete Support -kansiosta.
Mene kohtaan Report ja valitse New Inventory Report. Valitse kohderyhmä, Filter ja View. Jos valitset yksittäisen koneen, filteriä on luonnollisesti turha käyttää. Lopuksi paina Run Report.
Nyt saat ehtojesi mukaiset koneet, joista on selvitetty näytönohjaimen tiedot.
Create Group-napilla voi luoda näistä koneista Dynamic Machine Groupin, jolloin voit kohdistaa näihin clientteihin tehtäviä. Exportilla tallenetaan raportti txt- tai csv-muotoon ja Printillä voi tulostaa raportin.
Työaseman tietoturvallinen tyhjennys
Kun työasema poistetaan käytöstä, on sen tietojen tuhoamisesta huolehdittava. GSS:n levyntyhjennystoiminto täyttää USAn puolustusministeriön asettamat vaatimukset levyntyhjennyksestä.
Consolessa Tools -> Erase Machine
Valitse client tai ryhmä. Tyhjennettävät levyt sekä täppä kohtiin Secure Erase ja Remove Client. Huom! Remove Client ei poista clienttiä kohdekoneelta vaan consolesta poistetaan sitä koskevat tiedot.
Ajastetut tehtävät
GSS aloittaa tehtävän suorittamisen saman tien, kun annat Execute-komennon. Välillä kuitenkin tehtävä pitää suorittaa esimerkiksi yöaikaan tai automatisoida toistuva tehtävä. Tällöin voi käyttää Schedule-toimintoa.
Valitse ajastettava tehtävä ja paina Schedule.
Select-napilla voit valita suoritettavan tehtävän.
Paina Set Password ja syötä käytettävän tunnuksen salasana.
Määritä haluttu ajankohta.
GSS pystyy suorittamaan tehtävän vain jos client on päällä, joten WOL-boottaus kannattaa ottaa tehtävässä käyttöön. Oletusasetuksilla GSS odottaa 20 minuuttia clienttejä, jonka jälkeen todetaan tehtävän epäonnistuneen kyseisen clientin kohdalla. Jos haluat muokata odotusaikaa, mene Tools -> Options
Preferences-välilehdellä muokkaa Server Timeout -kohtaa.
Ajurien lisääminen ajuritietokantaan
GSS:n mukana tulee melko laaja ajuritietokanta ja silloin tällöin uusia ajureita tulee päivityksien mukana. Kuitenkin ennemmin tai myöhemmin tulee tilanne, jossa laitteeseen ei löydy sopivaa network- tai storage-ajuria ja tällöin ajuri pitää lisätä itse ajuritietokantaan.
Jos sopivia ajureita ei ole tietokannassa, koneita ei pysty käynnistämään PreOS tilaan. Lisäksi Deploy Anywhere toiminto käyttää samaa tietokantaa.
Avaa Boot Wizard -> valitse Windows PE -> Edit -> Windows PE-editorissa WinPE -> Edit.
Huom! Oletuksena käytössä on kaksi WinPE imagea (WinPE ja WinPE-512). WinPE-512:sta on oletuksena liitetty suurempi määrä ajureita ja nimensä mukaisesti se vaatii koneelta minimissään 512mb keskusmuistia. WinPE taasen on kevennetty versio ja se vaatii vain 256mb keskusmuistia.
Paina Add New Driver -> etsi Browsella ajuri, anna ajurille nimi ja käyttöjärjestelmät, joilla tämä ajuri toimii -> paina OK. Ajuri on nyt tietokannassa ja Deploy Anywhere pystyy käyttämään sitä.
HUOM! Windows PE on käytännössä karsittu Vista eli sen käyttöä varten tarvitaan Vista-ajureita. Muiden käyttöjärjestelmien ajureita tarvitaan, kun niitä asennetaan Deploy Anywhere-toiminnolla.
Ajuri pitää vielä liittää haluttuun PreOS imageen. Lisää täppä haluttuun ajuriin ja paina OK, jonka jälkeen ajurin lisääminen alkaa automaattisesti.
Console Boot CD
Kun koneessa ei ole käyttöjärjestelmää, ei siihen ei voi asentaa luonnollisesti clienttiäkään. Tällöin kone pitää buutata PreOS tilaan, jonka jälkeen konetta voidaan operoida Consolen avulla. PXE buuttaus on oiva tapa clientin syöttämiseen ja GSS:n mukana tuleekin 3COM Boot Services tätä toimintoa varten. Tämän lisäksi RIS-integraatiokin on mahdollista.
Ainakin omassa työssä olen kuitenkin havainnut, että tälläiset "tyhjäkone"-tilanteet on hyvin vähän, josta olen todennut että PXE on tarpeeseen nähden turhan työläs. Olen päätynyt käyttämään simppelimpää ja varmatoimisenpaa ratkaisua, eli bootti cd:tä, koska PXE:tä käyttäessäkään ei välty koneen luona käymiseltä.
Jostain syystä Boot Wizardissa ei ole valmiina Console Boot CD:n tekoa, joten se vaatii hieman virittelyä.
Standard Ghost Boot Disk ja paina Next.
Ja Next. Jos käytössä ei ole DHCP-palvelinta, pitää sinun määritellä verkkoosi sopivat asetukset.
Valitse Create ISO image, osoita imagelle tallennuspaikka ja anna tiedostolle nimi.
Lisää Add-napilla tiedostot ngctw32.exe ja ghwalk32.exe (tiedostot löytyvät c:\program files\symantec\ghost\). Destination folder on Ghost.
Paina Start Editing ja poista START.BAT -kohdan jälkeinen teksti ja korvaa se seuraavalla tekstillä.
Voit myös ohittaa tämän vaiheen ja muokata imagea lopuksi. Tällöin muokkaa start.bat -tiedostoa, joka löytyy Ghost-kansiosta.
set path=%path%;x:\ghost
x:
cd \ghost
rem --- This will remove any traces of virtual partition from hard drive ---
gdisk32.exe /revert >> x:\ghost\startlog.txt
rem --- This will create primary OS drive configuration ---
ghost32.exe /setosdrives /blind >> x:\ghost\startlog.txt
start ngctw32.exe -console
Lopuksi paina Stop Editing ja etene Wizardi loppuun.
ISO-image on valmis ja voit polttaa sen levylle. Kun buuttaat koneen tällä levyllä, ilmestyy se consoleen nimettynä MAC-osoitteellaan. Jos kyseinen kone on jo consolessa, se osaa silloin käyttää entisiä tietojaan.
Vistan asennus ja KMS-aktivointi
KMS-aktivointi on suurasiakkaille tarkoitettu "oma" aktivointipalvelu. Kun työaseman kloonaa perinteisesti ja ghostwalkeria käytetään SIDin luomiseen, Vista ei aktivoidu oikein KMS-palvelimelle. Ongelma ratkeaa uudelleenaktivoimalla työasema asennuksessa. Lisää asennustehtävääsi pari komentoa käyttäen Execute Command-toimintoa.
Ensin:
cscript C:\windows\system32\slmgr.vbs -rearm
Jonka jälkeen
shutdown -r
Windows 2008 sekä uudemmat domain controllerit ja Windows XP
Johtuen W2K8:n Default Domain Policyn tietoturva-asetuksista, GSS ei saa liitettyä WindowsXP-työasemia domainiin. Ongelma ratkeaa asentamalle WindowsXP-koneisiin tämän päivityksen. Päivityksenkin jälkeen PC-DOS -buuttiympäristöllä liittäminen ei onnistu, joten viimeistään nyt kannattaa alkaa käyttämään Windows PE:tä.
Tämä ongelma vaikuttaa myös Vista-työasemiin, mutta korjaus on lisätty SP1-päivityspakettiin.
GSS ja useampi AD domain
GSS pystyy toimimaan useammassa kuin yhdessä domainissa. Uuden domainin käyttöönotto tapahtuu seuraavasti:
Tools -> Supported Domain List. Paina Add ja syötä Domain-kenttään lisättävä domain.
GSS:ään voi määritellä vain yhden Service Accountin. Niinpä joudut uuteen domainiin luomaan täysin samalla nimellä ja salasanalla varustetun Service Accountin. Luonnollisesti tarvittavat oikeuksien delegoinnit pitää suorittaa.