Käyttäjän työkalut

Sivuston työkalut


paketit:eduroam

eduroam WiFi-profiilin paketointi

Oppilaitoksen oman eduroam-profiilin jakaminen ei etenkään Windowsin kanssa ole järin yksinkertaista käyttäjille joiden koneet eivät ole keskitetyn hallinnan piirissä eikä asetuksia pystytä tuomaan koneelle esim. GPO-asetuksilla. Windows XP:n kohdalla langattoman profiilin luomisen tuskan voi helpoiten kokea CSC:n Windows XP-ohjeesta eikä siihen juurikaan helpotusta ole tarjolla. Eduroamin dokumentaatiosta löytyy client-ohjeistus missä profiilin paketointiin ja jakamiseen käytetään kolmannen osapuolen tuotteita. Vistasta alkaen Windows osaa kuitenkin käsitellä WiFi-profiileja varsin monipuolisesti netsh-komentorivityökalun avulla. Jotta oppilaitoksen eduroam-profiilia voisi jakaa kätevästi tarvitaan tälle työkalulle vähän lihaa luiden ympärille eli jonkinlainen yksinkertainen eduroamin ”asennusohjelma”. Tarjolla olevat vaihtoehdot edellyttävät administrator-oikeuksia vaikka WiFi-profiilit voivat olla myös käyttäjäkohtaisia jolloin admin-oikeuksia ei tarvittaisi. Seuraavilla ohjeilla voit luoda eduroam WiFi-profiilin asennusohjelman, joka toimii standard user -oikeuksilla ja lisää ohjelman ajavalle käyttäjälle eduroam-verkon käyttöön oppilaitoksen määrityksillä.

Vaatimukset

eduroam-paketin luomiseen tarvitaan

  1. Windows 7 x86/x64 (tai Vista)
  2. XML-muotoinen WiFi-profiili oppilaitoksen eduroam-määrityksillä
  3. addwifi.vbs -skripti

eduroam-paketin ajamiseen tarvitaan

  1. Windows Vista, 7 (x86 tai x64) - Windows XP ei kelpaa (addwifi.vbs tarkistaa) sekä
  2. käynnissä oleva Windowsin Service ”WLAN AutoConfig” (addwifi.vbs tarkistaa). Kolmansien osapuolten langattomien verkkojen hallintaohjelmistot voivat kytkeä tämän palvelun pois päältä.

XML-muotoisen WiFi-profiilitiedoston luominen

  1. Luo Windows 7 -koneella ”eduroam”-niminen WiFi-profiili käyttäen normaalia graafista käyttöliittymää
    • Conrol Panel → Network and Internet → Network and Sharing Center → Manage wireless networks → Add
  2. Avaa komentorivikehote (cmd.exe)
  3. Exportoi WiFi-profiili antamalla komento netsh wlan export profile eduroam
  4. Ota muodostunut XML-tiedosto talteen. Kannattanee nimetä tiedosto yksinkertaisemmaksi, esim. nnn-eduroam.xml

exe-muotoisen eduroam-paketin luominen

  1. Totea, että VB-skripti addwifi.vbs tekee mitä toivotkin sen tekevän. Muokkaa halutessasi.
  2. käynnistä administrator-oikeuksin 32-bittinen Windowsin mukana tuleva iexpress.exe -ohjelma. 32-bittinen siksi, jotta muodostuva ohjelma olisi 32-bittinen ja toimisi näin ollen niin 32- kuin 64-bittisissä Windowseissa
    • 32-bittisessä Windowsissa käynnistä ”%systemroot%\System32\iexpress.exe”
    • 64-bittisessä Windowsissa käynnistä ”%systemroot%\SysWOW64\iexpress.exe”
    • Iexpress.exe-ohjelmalle annetut vastaukset voi tallettaa .SED-tiedostoon. Tämä kannattaa ilman muuta tehdä.
    • Huom! Iexpress.exe ei ole kaikilta osin järin moderni sovellus.
  3. Valitse Create Package.Next
  4. Extract files and run installation commandNext
    iexpress.exe
  5. Anna paketille nimi, esim ”nnn eduroam WiFi Profile” ja paina Next
    iexpress.exe
  6. Valitse No prompt.NextDo not display a licenseNext
  7. Lisää Add-painikkeella pakettiin tiedostot addwifi.vbs ja luomasi eduroam xml-profiili. Paina Next.
    iexpress.exe
  8. Määrittele ajettava komento kun paketti suoritetaan ja valitse Next
    • Install program: wscript.exe addwifi.vbs eduroam "nnn-eduroam.xml"
    • Post install command: <None>
      iexpress.exe
  9. Default (recommended)Next
  10. No MessageNext
  11. Määrittele luotavan paketin nimi, esim. nnn-eduroam.exe sekä
    • valitse ”Hide File Extracting Progress Animation from User” sekä
    • ”Store files using Long File Name inside package” ja paina Next
      iexpress.exe
  12. No restartNext
  13. Valitse Save Self Extraction Directive (SED) file: jotta saat tehdyt määritykset talteen ja määrittele vastaustiedoston sijainti. Paina Next
  14. Paina Next ja iexpress.exe luo paketin. Paketin luominen epäonnistuu jos et käynnistänyt iexpress.exe:ä administrator-oikeuksin
  15. Kun paketti on valmis, paina Finish ja levitä muodostunutta eduroamin ”asennusohjelmaa” nnn-eduroam.exe haluamallasi tavalla.

Appendix

addwifi.vbs
' Add Wireless (WiFi) Profile to Windows Vista or newer
' 9.11.2011 | Mikko Järvinen <mikko@utu.fi> | University of Turku
' 
' usage: wscript addwifi.vbs ProfileName "WiFi-Filename.xml" user|everyone
' (Export WiFi-config xml file using command: netsh wlan export profile <profilename>)
 
Option Explicit
'On Error Resume Next
 
Dim objFileSystem
Dim objShell
Dim strComputer
Dim strServiceName
Dim strInstallCommand
Dim strUnInstallCommand
Dim strQueryCommand
Dim strWLANNotFoundTitle
Dim strWLANNotFoundText
Dim strWLANImportedTitle
Dim strWLANImportedText
Dim strWLANExistsTitle
Dim strWLANExistsText
Dim strOSVersionTitle
Dim strOSVersionText
Dim strWiFiProfileName
Dim strWiFiProfile
Dim strWiFiProfileScope
Dim cmdArgs
Dim intReturnCode
Dim intAnswer
Dim strWindowsVersion
Dim strWindowsMajorVersion
 
Set objShell = CreateObject("Wscript.Shell")
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
 
Set cmdArgs = WScript.Arguments
 
If WScript.Arguments.Count = 3 Then
    strWiFiProfileName = WScript.Arguments(0)
    strWiFiProfile = WScript.Arguments(1)
    Select Case LCase(WScript.Arguments(2))
      Case "everyone" strWiFiProfileScope = "all"
      Case Else strWiFiProfileScope = "current"
    End Select
 
    strInstallCommand = "netsh wlan add profile filename=""" & strWiFiProfile & """ user=" & strWiFiProfileScope
    strQueryCommand = "netsh wlan show profile " & strWiFiProfileName
    strUnInstallCommand = "netsh wlan delete profile " & strWiFiProfileName
 
    strOSVersionTitle = strWiFiProfileName
    strOSVersionText = "Langattoman verkon profiilin luomiseen automaattisesti" & VbCrLf & _
                            "vaaditaan Windows Vista tai Windows 7." & VbCrLf & _
                             VbCrLf & _
                          "Wireless Profile automatic configuration requires" & VbCrLf & _
                            "Windows Vista or Windows 7."
 
    strWLANNotFoundTitle = strWiFiProfileName
    strWLANNotFoundText = "Langatonta verkkokorttia ei löytynyt tai" & VbCrLf & _
                            "'WLAN AutoConfig'-palvelu ei ole käynnissä." & VbCrLf & _
                             "Profiilin " & strWiFiProfileName & " lisääminen ei onnistunut." & _
                             VbCrLf & VbCrLf & _
                          "Wireless network card not found or" & VbCrLf & _
                            "'WLAN AutoConfig' service is not started." & VbCrLf & _
                             "Profile " & strWiFiProfileName & " couldn't be imported."
 
    strWLANImportedTitle = strWiFiProfileName
    strWLANImportedText = "Langaton verkko " & strWiFiProfileName & " lisätty onnistuneesti." & _
                             VbCrLf & VbCrLf & _
                          "Wireless network " & strWiFiProfileName & " imported successfully."
 
    strWLANExistsTitle = strWiFiProfileName
    strWLANExistsText = "Langaton verkko " & strWiFiProfileName & " on jo määriteltynä." & _
                             VbCrLf & VbCrLf & _
                          "Wireless network " & strWiFiProfileName & " is already configured."
 
    ' --- Check for a Windows Version
 
    strWindowsVersion = objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentVersion")
    strWindowsMajorVersion = Left(strWindowsVersion, 1)
    If strWindowsMajorVersion = "5" Then ' Windows 2000, XP, 2003
       intAnswer = MsgBox(strOSVersionText , vbOKOnly + vbCritical + vbSystemModal, strOSVersionTitle)
       WScript.Quit(1)
    End If
 
    ' --- Check if a wlansvc is Started
 
    strComputer = "." ' Local Computer
    strServiceName = "wlansvc" ' WLAN AutoConfig
 
    If Not isServiceRunning(strComputer,strServiceName) Then
        intAnswer = MsgBox(strWLANNotFoundText , vbOKOnly + vbCritical + vbSystemModal, strWLANNotFoundTitle)
        WScript.Quit(2)
    End If
 
    ' --- Check if Profile already exists
 
    intReturnCode = objShell.Run(strQueryCommand, 0, True)
    If intReturnCode = 0 Then ' WiFi Profile already exists
        intAnswer = MsgBox(strWLANExistsText , vbOKOnly + vbInformation + vbSystemModal, strWLANExistsTitle)
        WScript.Quit(0)
    End If
 
    ' --- Add WiFi Profile
 
    intReturnCode = objShell.Run(strInstallCommand, 0, True)
 
    If intReturnCode = 1 Then ' something went wrong
        intAnswer = MsgBox(strWLANNotFoundText , vbOKOnly + vbCritical + vbSystemModal, strWLANNotFoundTitle)
        WScript.Quit(1)
    Else   ' WiFi Profile imported
        intAnswer = MsgBox(strWLANImportedText , vbOKOnly + vbInformation + vbSystemModal, strWLANImportedTitle)
        WScript.Quit(0)
    End If
 
Else
        intAnswer = MsgBox("WiFi profile name or file name not defined.", vbOKOnly + vbCritical + vbSystemModal, "Error")
        WScript.Quit(2)
End If
 
' ----- Functions -----
 
' Function to check if a service is running on a given computer
Function isServiceRunning(strComputer,strServiceName)
	Dim objWMIService, strWMIQuery
 
	strWMIQuery = "Select * from Win32_Service Where Name = '" & strServiceName & "' and state='Running'"
 
	Set objWMIService = GetObject("winmgmts:" _
		& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
 
	If objWMIService.ExecQuery(strWMIQuery).Count > 0 Then
		isServiceRunning = true
	Else
		isServiceRunning = false
	End If
 
End Function
paketit/eduroam.txt · Viimeksi muutettu: 2014/11/20 13:01 (ulkoinen muokkaus)