Kioskimikro

Kioskimikro

Windows-pohjainen kioskimikro on hyvin helppo toteuttaa Windows SteadyState 2.5 -tuotteella. Tässä wikissä käsitellään vaiheet, jolla luodaan pääosin Group Policyillä kioskimikro. Tärkeimmät tavoitteet oli luoda mikro, jolla voi selaimella käyttää vain tiettyä sivustoa ja kaikki muut toiminnot piti olla estetty. Ylläpidon näkökulmasta itse työasemaan tehtävät toimenpiteet pitää minimoida. Näin vähenee työ esimerkiksi uusien kioskimikrojen käyttöönotossa ja asetusten hallinta on keskitetty, eikä näin vaadi konekohtaista virittelyä.

Active Directoryyn tehtävät muutokset

1. Luo AD:hen uusi OU ja tuohon OU:hun käyttäjä.
2. Lataa SteadyState 2.5 ja asenna se mihin tahansa koneeseen. Hae kansiosta <Program Files>\Windows SteadyState\ADM tiedosto nimeltään SCTSettings.adm.
3. Tee luomaasi OU:hun GPO ja lisää SCTSettings.adm kohtaan User Configuration -> Administrative Templates.
4. Muokkaa asetuksesi haluamaksesi. Ideana on kohdentaa säännöt luomaasi käyttäjään. Tee siis säännöt User Configurationiin.
Esimerkkiasetuksista:
kioski.pdf

Nyt voit käyttää kioskimikrotilaa millä tahansa domainisi koneella kirjautumalla luomallasi käyttäjätunnuksella.

Työaseman asetukset

Kioskimikron pitää toimia niin, että kioskitila aukeaa automaattisesti käynnistyksessä. Tämä ratkeaa asettamalla luotu käyttäjätunnus kirjautumaan automaattisesti työasemaan. Domainiin liitetyissä koneissa tämä onnistuu rekisteriä muokkaamalla. Ongelmaksi muotoutuu tällöin, että salasanan joutuu tallentamaan selkokielisenä rekisteriin. Tämä ongelma ratkeaa ja muutenkin koko operaatio helpottuu SysInternalsin Autologon for Windows -työkalulla.

Mene osoitteeseen http://technet.microsoft.com/en-us/sysinternals/bb963905.aspx ja lataa paketti tai klikkaa "Run Autologon"
auto4.jpeg
Hyväksy lisenssiehdot.
auto1.jpeg
Syötä haluttu käyttäjä, domain ja salasana.
auto2.jpeg

Kuittaa OK:lla ilmoitus. Jatkossa kone kirjautuu automaattisesti määritellyllä tunnuksella. Jos haluat poistaa autologinin käynnistä Autologon uudestaan ja valitse Disable.
auto3.jpeg

Lopuksi hienosäätönä disabloidaan Windows-näppäimet. Kopioi seuraava koodi Notepadiin ja tallenna se reg-päätteisenä.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,00,00,5B,E0,00,00,5C,E0,00,00,00,00

Tuplaklikkaamalla luotua reg-tiedostoa Windows-näppäimet lakkaavat toimimasta.

Mallikone on valmis. Ota siitä image ja käytä imagea kioskimikrojen asennukseen.

Muokkausta

Hetken käytössä olon jälkeen selvisi, että selainpohjainen tietojärjestelmä, jota mikroissa käytetään, ei osannut tyhjentää käyttäjien tietoja. Eli käyttäjät näkivät, mitä aiemmat käyttäjät olivat tehneet. Järjestelmä vaatii selaimen sammuttamisen, jotta tiedot häviäisivät.

Ratkaisuksi tein automaattisen 5 minuutin käyttämättömyyden jälkeen tapahtuvan logoff > logon -toiminnon. Tällöinhän myös selain luonnollisesti sammuu, joten ongelma ratkeaa. Toteutuksessa tärkeintä oli, että virityksen sai hoidettua AD:n kautta, kun muutenkin kaikki säädöt tulevat AD:sta niin turha keksiä paikallisesti tehtäviä virityksiä.

Ensimmäisenä luo pari vbs-skriptiä, jotka ajetaan koneenkäynnistyksessä.

Ensimmäinen skripti määrittää käyttäjän, domainin ja ottaa pakotetun kirjautumisen käyttöön eli jos käyttäjä kirjautuu ulos kirjautuu hän automaattisesti takaisin. HUOM! Skripti tekee aiemmin käytetyn autologonin turhaksi.

Set ws = WScript.CreateObject("WScript.Shell")

registrykey = "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\"

user = "Käyttäjän tunnus"
password = "käyttäjän salasana"
domain = "Käytettävä domaini"

ws.RegWrite registrykey & "DefaultUserName", user
ws.RegWrite registrykey & "DefaultPassword", password
ws.RegWrite registrykey & "DefaultDomainName", domain
ws.RegWrite registrykey & "AutoAdminLogon", 1
ws.RegWrite registrykey & "DontDisplayLastUserName", 0
ws.RegWrite registrykey & "ForceAutologon", 1

Uloskirjautumiseen käytetään WinExit-nimistä näytönsäästäjää, joka kirjaa käyttäjän ulos. Jotta näytönsäästäjä toimii User-oikeuksilla, pitää rekisterihaaraan HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\control.ini antaa käyttäjille kirjoitusoikeus. Seuraava vbs-skripti hoitaa tämän ongelman.

' Create temp file with the script that regini.exe will use
'
set oFSO = CreateObject("Scripting.FileSystemObject")
strFileName = oFSO.GetTempName
set oFile = oFSO.CreateTextFile(strFileName)
oFile.WriteLine "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\control.ini [1 5 7 11 17]"
oFile.Close

' Change registry permissions with regini.exe
'
set oShell = CreateObject("WScript.Shell")
oShell.Run "regini " & strFileName, 8, true

' Delete temp file
'
oFSO.DeleteFile strFileName

Numerosarja [1 5 7 11 17] määrittää käyttöoikeudet. Jos haluat muokata niitä, lue alla olevat selitykset:

 1  - Administrators Full Access
 2  - Administrators Read Access
 3  - Administrators Read and Write Access 
 4  - Administrators Read, Write and Delete Access
 5  - Creator Full Access
 6  - Creator Read and Write Access
 7  - World Full Access
 8  - World Read Access
 9  - World Read and Write Access
 10 - World Read, Write and Delete Access
 11 - Power Users Full Access
 12 - Power Users Read and Write Access
 13 - Power Users Read, Write and Delete Access
 14 - System Operators Full Access
 15 - System Operators Read and Write Access
 16 - System Operators Read, Write and Delete Access
 17 - System Full Access
 18 - System Read and Write Access
 19 - System Read Access
 20 - Administrators Read, Write and Execute Access
 21 - Interactive User Full Access
 22 - Interactive User Read and Write Access
 23 - Interactive User Read, Write and Delete Access

Tallenna vbs-skriptit sopivaan levyjakoon. Lisäksi lataa Windows Server 2003 Resource Kit Tools ja kopioi sieltä löytyvä winexit.scr vaikka samaan paikkaan.

Luo cmd-tiedosto, joka ajaa kummatkin vbs-skriptit ja kopioi winexit.scr tiedoston C:\Windows\System32 kansioon. Aseta luotu cmd-tiedosto Computer Configurationiin Startup Scriptiksi (tästä eteenpäin myös työaseman pitää sijaita kioskimikrojen OU:ssa).

Sitten pitää WinExitin ja Windowsin näytönsäästäjän asetuksia muuttaa. Winexitin asetusten muokkaamiseen löytyi adm-template.
HUOM! COUNTDOWN_TIMEOUT kohdassa oleva VALUEON "10" -kohta pitää muokata halutuksi ennen templaten lisäystä ad:hen. Numeroarvo määrittelee sekunteina kuinka kauan koneen ruudulla näytetään varoitus uloskirjautumisesta. Tallenna tiedosto adm-päätteisenä ja lisää se User Configuration -> Administrative Templates-haaraan.

;; Remember in GPMC to go View->Filtering
;; and uncheck "Only show policy settings that can be fully managed"
;;
;; David Carlin (djc6@case.edu) 2/25/2005
;;
;; WINEXIT.SCR is located in the Windows Server 2003 Resource Kit

CLASS USER

CATEGORY  !!Screen_Saver_Policy

              POLICY !!TERMINATE_APPS
          KEYNAME "Control Panel\Screen Saver.Logoff"
                VALUENAME ForceLogoff
                VALUEON "1" VALUEOFF "0"
              END POLICY

          POLICY !!COUNTDOWN_TIMEOUT
          KEYNAME "Control Panel\Screen Saver.Logoff"
                VALUENAME CountDownTimer
                VALUEON "10"
          END POLICY

              POLICY !!ENTER_DIALOG_MESSAGE
                  KEYNAME "Control Panel\Screen Saver.Logoff"
                      PART !!ENTER_DIALOG_MESSAGE
                      EDITTEXT
                      DEFAULT !!DEFAULT_MESSAGE
                      VALUENAME DialogMessage
                      END PART
              END POLICY

END CATEGORY

[strings]
Screen_Saver_Policy="Winexit.scr Policy settings"
TERMINATE_APPS="Terminate running applications"
COUNTDOWN_TIMEOUT="Enable 5 minute warning logoff notice"
ENTER_DIALOG_MESSAGE="Warning message about being logged off"
DEFAULT_MESSAGE="You are about to be logged out.  Press the cancel button to stop this process."

Jotta pystyt muokkaamaan policyjä, pitää GPMC-työkalulla tehdä Administrative Templates-haaralle View -> Filtering -> täppä pois kohdasta "Only show policy settings that can be fully managed".
Määrittele asetukset allaolevalla tavalla.

ScreenShot001.jpg

Seuraavaksi määrittele WinExit oletusnäytönsäästäjäksi ja odotusaika, koska näytönsäästäjä käynnistyy (asetukset siis User Configuration-haaraan).

ScreenShot002.jpg

Kaikki toimi tässä vaiheessa mainiosti, kunnes tajusin että IE:n kioskimoodi ottaa näytönsäästäjän pois käytöstä. No eikun muokkaamaan asetuksia (kioskimoodi oli lähinnä ulkonäköasia niin sen poiskytkeminen ei toiminnan kannalta ollut mitenkään haitallinen).

Poista -k komento niin Internet Explorer aukeaa normaalisti.

ScreenShot003.jpg

Parannusta aiempaan on sen verran, että päätteeseen pitää nyt vain asentaa Windows XP, jonka jälkeen kone liitetään domainiin ja konetili siirretään oikeaan OU:hun. Eli uusien päätteiden käyttöönotto on entistä helpompaa.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NoDerivs 3.0 License