<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Msoomere</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Msoomere"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Msoomere"/>
	<updated>2026-05-07T23:22:50Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Skript,_mis_pakib_failid_ja_laeb_ftp_abil_%C3%BCles&amp;diff=61195</id>
		<title>Skript, mis pakib failid ja laeb ftp abil üles</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Skript,_mis_pakib_failid_ja_laeb_ftp_abil_%C3%BCles&amp;diff=61195"/>
		<updated>2013-02-01T20:27:57Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Skript=&lt;br /&gt;
Mihkel Soomere (C)&lt;br /&gt;
&lt;br /&gt;
Allpool on ka VBScript variant, millest PowerShell variant porditi. See skript on VBS variandis ühe spetsiiflise süsteemi logide edastamiseks mõeldud ja live&#039;s kasutuses, sellest tulenevalt ei ole see päris universaalne lahendus. Nt logide transpordiks ette valmistamisel on tähtis säilitada emakausta nimi.&lt;br /&gt;
==PowerShell==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;#&lt;br /&gt;
.Synopsis&lt;br /&gt;
YourView andmete pushija&lt;br /&gt;
Edastab YourView logifailid koos struktuuriga FTPsse kokku Zipituna&lt;br /&gt;
Porditud VBS versioonist&lt;br /&gt;
Alustatud detsember 2012&lt;br /&gt;
Autor Mihkel Soomere&lt;br /&gt;
.DESCRIPTION&lt;br /&gt;
Skript vajab Zippimiseks: http://pscx.codeplex.com ja  FTP laadimiseks http://gallery.technet.microsoft.com/scriptcenter/PowerShell-FTP-Client-db6fe0cb&lt;br /&gt;
Testitud PS3 ja W8 peal&lt;br /&gt;
ToDo&lt;br /&gt;
Kui FTP ebaõnnestus, siis pane fail Queuesse. Järgmisel käivitusel laadi queue failid üles.&lt;br /&gt;
.EXAMPLE&lt;br /&gt;
YourViewPush.ps1 TallinnHarku&lt;br /&gt;
Kasutab jaama nimena TallinnHarku.&lt;br /&gt;
.INPUTS&lt;br /&gt;
Ainus atribuut on jaama nimi, mis peab koosnema A-Z, a-z, 0-9 märkidest&lt;br /&gt;
#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Param (&lt;br /&gt;
    [parameter(Mandatory=$true,HelpMessage=&amp;quot;Jaama nimes tohib olla sümboleid a-z ja numbreid 0-9&amp;quot;)]&lt;br /&gt;
    [ValidatePattern(&amp;quot;^[0-9a-zA-Z]+$&amp;quot;)]&lt;br /&gt;
    [String] $JaamaNimi&lt;br /&gt;
) &lt;br /&gt;
#Lülida debugimine sisse&lt;br /&gt;
#$DebugPreference = &amp;quot;Continue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;args.Count &amp;quot; + $args.Count)&lt;br /&gt;
Write-Debug (&amp;quot;args &amp;quot; + $args)&lt;br /&gt;
&lt;br /&gt;
#Logimise käivitamine&lt;br /&gt;
$LogFile = $env:TEMP + &amp;quot;\YWPushLog.txt&amp;quot;&lt;br /&gt;
Function LogWrite {&lt;br /&gt;
   Param ([string]$logstring)&lt;br /&gt;
   Write-Host $logstring&lt;br /&gt;
   Add-content $Logfile -value ((Get-Date -format &amp;quot;dd.MM.yyyy HH:mm&amp;quot;).ToString() + &amp;quot; &amp;quot; + $logstring)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;LogFile &amp;quot; + $LogFile)&lt;br /&gt;
&lt;br /&gt;
#Muutujate väärtustamine&lt;br /&gt;
#Muutumatu, kuna igal pool sama&lt;br /&gt;
$YourViewJuurkaust = &amp;quot;C:\YourView&amp;quot;&lt;br /&gt;
#Argumendist&lt;br /&gt;
$Jaamanimi = $args[0].ToString()&lt;br /&gt;
#Kujul YYYYMMDD&lt;br /&gt;
$KuuPaev = (Get-Date -Format &amp;quot;yyyyMMdd&amp;quot;).ToString()&lt;br /&gt;
#Alati jäetakse natuke logisid maha&lt;br /&gt;
$MaxFailivanus = 3&lt;br /&gt;
$YlekandeKaust = ($Jaamanimi + &amp;quot;-&amp;quot; + $KuuPaev)&lt;br /&gt;
$AjutineJuurkaust = ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust)&lt;br /&gt;
$YlekantavFailiNimi = ($YlekandeKaust + &amp;quot;.zip&amp;quot;)&lt;br /&gt;
#Implementeerimata&lt;br /&gt;
$TeadaolevadKaustad = &amp;quot;CT&amp;quot;,&amp;quot;FD&amp;quot;,&amp;quot;PTU&amp;quot;,&amp;quot;SR&amp;quot;,&amp;quot;TG&amp;quot;,&amp;quot;WA&amp;quot;,&amp;quot;WIND&amp;quot;,&amp;quot;CT25K&amp;quot;,&amp;quot;FD12P&amp;quot;,&amp;quot;PTU_INST&amp;quot;,&amp;quot;SR_INST&amp;quot;,&amp;quot;TG_INST&amp;quot;&lt;br /&gt;
$FTPServer = &amp;quot;&amp;quot;&lt;br /&gt;
$FTPServerTee = &amp;quot;&amp;quot;&lt;br /&gt;
$FTPServerKasutaja =&amp;quot;&amp;quot;&lt;br /&gt;
#Enamvähem turvaline paroolisalvestusviis, et skript ei küsiks FTPga üles laadides parooli&lt;br /&gt;
#Parooli salvestamiseks read-host -assecurestring | convertfrom-securestring | out-file C:\yourview\securestring.txt&lt;br /&gt;
$FTPServerParool = cat C:\yourview\securestring.txt | convertto-securestring&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;YourViewJuurKaust &amp;quot; + $YourViewJuurKaust)&lt;br /&gt;
Write-Debug (&amp;quot;JaamaNimi &amp;quot; + $Jaamanimi)&lt;br /&gt;
Write-Debug (&amp;quot;KuuPaev &amp;quot; + $KuuPaev)&lt;br /&gt;
Write-Debug (&amp;quot;MaxFailiVanus &amp;quot; + $MaxFailivanus)&lt;br /&gt;
Write-Debug (&amp;quot;YlekandeKaust &amp;quot; + $YlekandeKaust)&lt;br /&gt;
Write-Debug (&amp;quot;AjutineJuurkaust &amp;quot; + $AjutineJuurkaust)&lt;br /&gt;
Write-Debug (&amp;quot;YlekantavFailiNimi &amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
Write-Debug (&amp;quot;TeadaolevadKaustad &amp;quot; + $TeadaolevadKaustad)&lt;br /&gt;
&lt;br /&gt;
#Liigutab failid koos emakaustaga&lt;br /&gt;
Get-ChildItem $YourViewJuurkaust -Directory | ForEach-Object {&lt;br /&gt;
    Write-Debug (&amp;quot;YourViewChild &amp;quot; + $_.FullName)&lt;br /&gt;
    Get-ChildItem $_.FullName -Recurse | Where-Object {-not $_.PsIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-$MaxFailivanus) -and $_.Extension -eq &amp;quot;.csv&amp;quot;} | ForEach-Object {&lt;br /&gt;
        $Destination = ($AjutineJuurkaust + &amp;quot;\&amp;quot; + $_.Directory.Name + &amp;quot;\&amp;quot; + $_.Name)&lt;br /&gt;
        #Debug&lt;br /&gt;
        Write-Debug (&amp;quot;Source &amp;quot; + $_.FullName)&lt;br /&gt;
        Write-Debug (&amp;quot;Destination &amp;quot; + $Destination)&lt;br /&gt;
        #Workaround, kuna Move-Item ei loo faili liigutamisel pathi ette&lt;br /&gt;
        New-Item -ItemType Directory -Path ($AjutineJuurkaust + &amp;quot;\&amp;quot; + $_.Directory.Name) -Force&lt;br /&gt;
        Move-Item $_.FullName -Destination $Destination -Force&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Pakib failid kokku&lt;br /&gt;
Try{&lt;br /&gt;
    Write-Zip -Level 9 -IncludeEmptyDirectories -Path ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust) -OutputPath ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
}&lt;br /&gt;
Catch [system.exception] {&lt;br /&gt;
    LogWrite (&amp;quot;Viga 4! Pakkimine ebaõnnestus&amp;quot;)&lt;br /&gt;
    Exit 4&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Edastab ZIPi FTP&#039;ga&lt;br /&gt;
Try {&lt;br /&gt;
    #Creadential objekti on vaja, ses muidu ei saa kuidagi parooli ette anda&lt;br /&gt;
    $Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $FTPServerKasutaja,$FTPServerParool&lt;br /&gt;
    Set-FTPConnection -Credentials $Credential -Server $FTPServer -UseBinary -UsePassive&lt;br /&gt;
    Add-FTPItem -Path $FTPServerTee -LocalPath ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi) -Overwrite&lt;br /&gt;
}&lt;br /&gt;
Catch [system.exception] {&lt;br /&gt;
    LogWrite (&amp;quot;Viga 5! FTP Edastamine ebaõnnestus&amp;quot;)&lt;br /&gt;
    Exit 5&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Kustuta ZIP&lt;br /&gt;
Remove-Item ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
#Kustuta ajutine kaust&lt;br /&gt;
Remove-Item ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust) -Recurse&lt;br /&gt;
&lt;br /&gt;
#Exit&lt;br /&gt;
LogWrite (&amp;quot;Kõik OK!&amp;quot;)&lt;br /&gt;
Write-Debug &amp;quot;0&amp;quot;&lt;br /&gt;
Exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VBScript==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
&#039;YourView andmete pushija.&lt;br /&gt;
&#039;Alustas Mihkel Soomere augustis 2011.&lt;br /&gt;
&#039;Skripti mõte on transportida minutiandmed automaatselt peamajja objektidel, kus pole püsiühendust ega VPNi.&lt;br /&gt;
&#039;Sõltuvused on 7-zip ja ncftpput.&lt;br /&gt;
&#039;Skript eeldab, et ta leiab asjad määratud kaustadest.&lt;br /&gt;
&#039;st 7-zip peab olema arhitektuuripõhine, ncftpput võib olla ka 32b, sest see läheb system32&#039;te&lt;br /&gt;
&#039;Testitud Windows 7 peal, kuid peaks töötama kõige peal alates Windows 2000.&lt;br /&gt;
&lt;br /&gt;
&#039;Kasutamine&lt;br /&gt;
&#039;Kopeeri skript ja ncftpput windows\system32 kausta&lt;br /&gt;
&#039;Kontorlli, et 7-zip oleks sama, mis operatsioonissüsteemi arhitektuur (alati %programfiles% variable)&lt;br /&gt;
&#039;Lisa Task Scheduleri&lt;br /&gt;
&#039;Kasutajaks SYSTEM&lt;br /&gt;
&#039;Käivita parameetriga jaama nimi.&lt;br /&gt;
&#039;Käivita igal pühapäeval kell 00 (üldjuhul UTC)&lt;br /&gt;
&#039;Jaama nimi peaks olema ASCII märkidega ja kõik kokku, nt narvajoesuu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Workflow:&lt;br /&gt;
&#039;Loo ajutine kaust mis koosneb arvuti nimest ja kuupäevast&lt;br /&gt;
&#039;Liiguta määratud ajast vanem sisu YW põhikaustadest ajutisse kausta&lt;br /&gt;
&#039;Paki ajutine kaust kokku&lt;br /&gt;
&#039;Saada pakitud info ära&lt;br /&gt;
&#039;Kustuta ajutised asjad&lt;br /&gt;
&#039;Kui midagi vahepeal feilib, skript väljub&lt;br /&gt;
&#039;Järgmise käivituse ajal korjab see kokku ka eelmisest käivitusest üle jäänud sodi, pakib selle uuesti kokku ning üritab uuesti ära saata&lt;br /&gt;
&lt;br /&gt;
&#039;Muudatused&lt;br /&gt;
&#039;1.1&lt;br /&gt;
&#039;CURL vahetatud ncfptput vastu, muutujad jäävad samaks.&lt;br /&gt;
&#039;Failid luuakse argumendist võetava failinimega, lisatud kiire väljumine koodiga 6 argumendi puudumisel&lt;br /&gt;
&#039;Logifunktsioon varasemaks toodud, et kontrollida argumendi puudumist&lt;br /&gt;
&#039;1.2&lt;br /&gt;
&#039;Muudetud saadetavate failide nimekuju kujule YYYYMMDD&lt;br /&gt;
&#039;Lisatud koristaja&lt;br /&gt;
&#039;1.2a&lt;br /&gt;
&#039;Välja lülitatud vigane kustutaja&lt;br /&gt;
&lt;br /&gt;
&#039;Karm režiim, nõua muutujate defineerimist, aitab debugimisel&lt;br /&gt;
Option Explicit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Muutujate loomine&lt;br /&gt;
Dim LogFile, Shell, FileSystemObject, RootFolder, SourceFolder, SourceFolderSubfolder, TransferRootFolder, TransferFile, CreateFolderPath, TransferPath, FileAge, FTPServer, FTPServerUser, FTPServerPassword, SevenZipPath, CURLPath, ComputerName, WshNetwork, FileItem, FTPServerPath, SevenZipExec, i, Run7Zip, LogFileAccess, CURLExec, RunCURL, CleanupFolder, FolderArray, FolderEntry, IsKnownFolder&lt;br /&gt;
&lt;br /&gt;
&#039;Objektide loomine&lt;br /&gt;
Set Shell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
Set FileSystemObject = CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;br /&gt;
Set WshNetwork = WScript.CreateObject(&amp;quot;WScript.Network&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&#039;Initsialiseeri logi&lt;br /&gt;
&#039;Logifail&lt;br /&gt;
LogFile = Shell.ExpandEnvironmentStrings(&amp;quot;%TEMP%&amp;quot;) &amp;amp; &amp;quot;\YWPushLog.txt&amp;quot;&lt;br /&gt;
&#039;Logi funktsioon&lt;br /&gt;
Set LogFile = FileSystemObject.OpenTextFile(LogFile,8,True)&lt;br /&gt;
&lt;br /&gt;
&#039;Atribuudi olemasolu kontroll&lt;br /&gt;
If WScript.Arguments.Count &amp;lt; 1 Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu käsurea argument määramaks jaama nimi. Errorcode: 6&amp;quot;&lt;br /&gt;
	WScript.quit(6)&lt;br /&gt;
end If&lt;br /&gt;
&lt;br /&gt;
&#039;Muutujate määramine&lt;br /&gt;
&#039;See on hardcodetud, kuna YourView path on igalpool sama.&lt;br /&gt;
Set RootFolder = FileSystemObject.GetFolder(&amp;quot;C:\YourView&amp;quot;)&lt;br /&gt;
&#039;Määrab saatmise kausta tee ja faili&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;Algses skrptis kasutati faili jaoks arvuti nime, selletõttu on muutuja ikka ComputerName, kuigi tema sisu on muutunud.&lt;br /&gt;
ComputerName = WScript.Arguments.Item(0)&lt;br /&gt;
TransferRootFolder = RootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; ComputerName &amp;amp; &amp;quot;-&amp;quot; &amp;amp; Date()&lt;br /&gt;
TransferFile = ComputerName &amp;amp; &amp;quot;-&amp;quot; &amp;amp; Year(Date) &amp;amp; Right(&amp;quot;0&amp;quot; &amp;amp; Month(Date),2) &amp;amp; Right(&amp;quot;0&amp;quot; &amp;amp; Day(Date),2) &amp;amp; &amp;quot;.zip&amp;quot;&lt;br /&gt;
&#039;1.2 lisand - eeldatavate kaustade massiiv&lt;br /&gt;
FolderArray = Array(&amp;quot;CT&amp;quot;,&amp;quot;FD&amp;quot;,&amp;quot;PTU&amp;quot;,&amp;quot;SR&amp;quot;,&amp;quot;TG&amp;quot;,&amp;quot;WA&amp;quot;,&amp;quot;WIND&amp;quot;,&amp;quot;CT25K&amp;quot;,&amp;quot;FD12P&amp;quot;,&amp;quot;PTU_INST&amp;quot;,&amp;quot;SR_INST&amp;quot;,&amp;quot;TG_INST&amp;quot;)&lt;br /&gt;
&#039;Rohkem kui järgnev arv päevi vanad failid võetakse töötlusse&lt;br /&gt;
FileAge = 3&lt;br /&gt;
&#039;FTP ligipääsu andmed&lt;br /&gt;
FTPServer = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerPath = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerUser = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerPassword = &amp;quot;&amp;quot;&lt;br /&gt;
&#039;Väliste rakenduste pathid&lt;br /&gt;
SevenZipPath = Shell.ExpandEnvironmentStrings(&amp;quot;%ProgramFiles%&amp;quot;) &amp;amp; &amp;quot;\7-Zip\7z.exe&amp;quot;&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;CURL viitab tegelikult ncftpput&#039;ile&lt;br /&gt;
CURLPath = FileSystemObject.GetSpecialFolder(1) &amp;amp; &amp;quot;\ncftpput.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Kontrolli kas YourView kaust on olemas&lt;br /&gt;
If Not FileSystemObject.FolderExists(RootFolder) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitline viga! Puudu järgnev oluline kaust: &amp;quot; &amp;amp; RootFolder &amp;amp; &amp;quot; Variable: RootFolder Errorcode: 1&amp;quot;&lt;br /&gt;
	WScript.quit(1)&lt;br /&gt;
End If&lt;br /&gt;
&#039;Kontrolli kas 7-Zip on olemas&lt;br /&gt;
If Not FileSystemObject.FileExists(SevenZipPath) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu järgnev oluline fail: &amp;quot; &amp;amp; SevenZipPath &amp;amp; &amp;quot; Variable: SevenZipPath Errorcode: 2&amp;quot;&lt;br /&gt;
	WScript.quit(2)&lt;br /&gt;
End If&lt;br /&gt;
&#039;Kontrolli kas CURL on olemas&lt;br /&gt;
If Not FileSystemObject.FileExists(CURLPath) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu järgnev oluline fail: &amp;quot; &amp;amp; CURLPath &amp;amp; &amp;quot; Variable: CURLPath Errorcode: 3&amp;quot;&lt;br /&gt;
	WScript.quit(3)&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Loo edastamise kaustastruktuuur ja liiguta andmed&lt;br /&gt;
If Not FileSystemObject.FolderExists(TransferRootFolder) Then&lt;br /&gt;
	Set CreateFolderPath = FileSystemObject.CreateFolder(TransferRootFolder)&lt;br /&gt;
End If&lt;br /&gt;
For Each SourceFolder in RootFolder.SubFolders&lt;br /&gt;
	&#039;Jäta vahele edastuskaust ise&lt;br /&gt;
	If Not SourceFolder = TransferRootFolder Then&lt;br /&gt;
		TransferPath = TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; SourceFolder.Name&lt;br /&gt;
		If Not FileSystemObject.FolderExists(TransferPath) Then&lt;br /&gt;
			Set CreateFolderPath = FileSystemObject.CreateFolder(TransferPath)&lt;br /&gt;
		End If&lt;br /&gt;
		For Each FileItem in SourceFolder.Files&lt;br /&gt;
			If DateDiff(&amp;quot;d&amp;quot;,FileItem.DateLastModified,Now()) &amp;gt; FileAge Then&lt;br /&gt;
				FileSystemObject.MoveFile SourceFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; FileItem.Name , TransferPath &amp;amp; &amp;quot;\&amp;quot; &amp;amp; FileItem.Name&lt;br /&gt;
			End If&lt;br /&gt;
		Next&lt;br /&gt;
	End If&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Paki andmed kokku 7Zip kasutades. See loopib et vea korral uuesti proovida&lt;br /&gt;
&#039;Määra käsurea parameetrid&lt;br /&gt;
SevenZipExec = chr(34) &amp;amp; SevenZipPath &amp;amp; chr(34) &amp;amp; &amp;quot; a -tzip &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; TransferFile &amp;amp; chr(34) &amp;amp; &amp;quot; &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; chr(34)&lt;br /&gt;
&#039;Nulli tsüklikordaja&lt;br /&gt;
i=0&lt;br /&gt;
&#039;Käivita tsükkel 3 korda&lt;br /&gt;
Do While (i&amp;lt;3)&lt;br /&gt;
	&#039;Käivita peidetuna ning oota käivituse lõppu.&lt;br /&gt;
	Run7Zip = Shell.Run(SevenZipExec,0,True)&lt;br /&gt;
	&#039;Kui pakkimine õnnestus, välju tsüklist&lt;br /&gt;
	If (Run7Zip = 0) Then Exit Do&lt;br /&gt;
	&#039;Kui 3 korda proovitud, kirjuta logisse ning välju skriptist veakoodiga 4&lt;br /&gt;
	&#039;Jäta vahele andmete saatmine, kui seda pole niikuinii pakitud&lt;br /&gt;
	If (i = 2) Then&lt;br /&gt;
		LogFile.WriteLine Now() &amp;amp; &amp;quot; Fataaalne viga pakkimisel! Proovitud 3 korda pakkida. Errorcode 4 ReturnCode: &amp;quot; &amp;amp; Run7Zip &amp;amp; &amp;quot; SevenZipExec: &amp;quot; &amp;amp; SevenZipExec&lt;br /&gt;
		WScript.quit(4)&lt;br /&gt;
	End If&lt;br /&gt;
	&#039;Kui oli viga, siis kirjuta ReturnCode ja käivitatud käsurida logisse&lt;br /&gt;
	If Not (Run7Zip = 0) Then LogFile.WriteLine Now() &amp;amp; &amp;quot; Viga pakkimisel! Proovin uuesti. ReturnCode: &amp;quot; &amp;amp; Run7Zip &amp;amp; &amp;quot; SevenZipExec: &amp;quot; &amp;amp; SevenZipExec&lt;br /&gt;
	&#039;Suurenda tsüklikordajat&lt;br /&gt;
	i = i+1&lt;br /&gt;
	&#039;Oota 10 minutit&lt;br /&gt;
	WScript.Sleep 600000&lt;br /&gt;
Loop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Edasta andmed CURL kasutades. See loopib et vea korral uuesti proovida&lt;br /&gt;
&#039;Määra käsurea parameetrid&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;Parameetrid on ncftpput jaoks&lt;br /&gt;
CURLExec = chr(34) &amp;amp; CURLPath &amp;amp; chr(34) &amp;amp; &amp;quot; -u &amp;quot; &amp;amp; FTPServerUser &amp;amp; &amp;quot; -p &amp;quot; &amp;amp; Base64Decode(FTPServerPassword) &amp;amp; &amp;quot; -T . &amp;quot; &amp;amp; FTPServer &amp;amp; &amp;quot; &amp;quot; &amp;amp; FTPServerPath &amp;amp; &amp;quot; &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; TransferFile &amp;amp; chr(34)&lt;br /&gt;
&#039;Nulli tsüklikordaja&lt;br /&gt;
i=0&lt;br /&gt;
&#039;Käivita 10 korda&lt;br /&gt;
Do While (i&amp;lt;10)&lt;br /&gt;
	&#039;Käivita peidetuna ning oota käivituse lõppu.&lt;br /&gt;
	RunCURL = Shell.Run(CURLExec,0,True)&lt;br /&gt;
	&#039;Kui pakkimine õnnestus, välju tsüklist&lt;br /&gt;
	If (RunCURL = 0) Then Exit Do&lt;br /&gt;
	&#039;Kui 10 korda proovitud, kirjuta logisse ning välju skriptist veakoodiga 5&lt;br /&gt;
	If (i = 9) Then&lt;br /&gt;
		LogFile.WriteLine Now() &amp;amp; &amp;quot; Fataaalne viga saatmisel! Proovitud 10 korda saata. Errorcode 5 ReturnCode: &amp;quot; &amp;amp; RunCURL &amp;amp; &amp;quot; CURLExec: &amp;quot; &amp;amp; CURLExec&lt;br /&gt;
		WScript.quit(5)&lt;br /&gt;
	End If&lt;br /&gt;
	&#039;Kui oli viga, siis kirjuta ReturnCode ja käivitatud käsurida logisse&lt;br /&gt;
	If Not (RunCURL = 0) Then LogFile.WriteLine Now() &amp;amp; &amp;quot; Viga saatmisel! Proovin uuesti. ReturnCode: &amp;quot; &amp;amp; RunCURL &amp;amp; &amp;quot; CURLExec: &amp;quot; &amp;amp; CURLExec&lt;br /&gt;
	&#039;Suurenda tsüklikordajat&lt;br /&gt;
	i = i+1&lt;br /&gt;
	&#039;Oota 10 minutit&lt;br /&gt;
	WScript.Sleep 600000&lt;br /&gt;
Loop&lt;br /&gt;
&#039;Kui kõik ikkagi õnnestus kirjuta logisse maha&lt;br /&gt;
LogFile.WriteLine Now() &amp;amp; &amp;quot; Kõik OK!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;Eemalda edastatud andmed&lt;br /&gt;
FileSystemObject.DeleteFolder TransferRootFolder&lt;br /&gt;
&#039;Korista ära ja välju ilma veata&lt;br /&gt;
&#039;Lisa 1.2&lt;br /&gt;
&#039;Loopib läbi kõik kaustad ning võrdleb neid teadaolevate kaustadega - kui kaust pole teadaolev, kustuta.&lt;br /&gt;
&#039;Lisa 1.2a&lt;br /&gt;
&#039;Kustutaja välja lülitatud, kuna mõned kaustad teadmata põhjusel kustutatakse valesti&lt;br /&gt;
&#039;For Each CleanupFolder in RootFolder.SubFolders&lt;br /&gt;
&#039;	IsKnownFolder=False&lt;br /&gt;
&#039;	For Each FolderEntry in FolderArray&lt;br /&gt;
&#039;		If CleanupFolder = &amp;quot;C:\YourView\&amp;quot; &amp;amp; FolderEntry Then&lt;br /&gt;
&#039;			IsKnownFolder=True&lt;br /&gt;
&#039;		End If&lt;br /&gt;
&#039;	Next&lt;br /&gt;
&#039;	If IsKnownFolder = False Then&lt;br /&gt;
&#039;		FileSystemObject.DeleteFolder CleanupFolder&lt;br /&gt;
&#039;	End If&lt;br /&gt;
&#039;Next&lt;br /&gt;
WScript.quit()&lt;br /&gt;
&lt;br /&gt;
&#039;Väline libra Base64 dekodeerimiseks&lt;br /&gt;
Function Base64Decode(ByVal base64String)&lt;br /&gt;
  Const Base64 = &amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&amp;quot;&lt;br /&gt;
  Dim dataLength, sOut, groupBegin&lt;br /&gt;
  base64String = Replace(base64String, vbCrLf, &amp;quot;&amp;quot;)&lt;br /&gt;
  base64String = Replace(base64String, vbTab, &amp;quot;&amp;quot;)&lt;br /&gt;
  base64String = Replace(base64String, &amp;quot; &amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
  dataLength = Len(base64String)&lt;br /&gt;
  If dataLength Mod 4 &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
    Err.Raise 1, &amp;quot;Base64Decode&amp;quot;, &amp;quot;Bad Base64 string.&amp;quot;&lt;br /&gt;
    Exit Function&lt;br /&gt;
  End If&lt;br /&gt;
  For groupBegin = 1 To dataLength Step 4&lt;br /&gt;
    Dim numDataBytes, CharCounter, thisChar, thisData, nGroup, pOut&lt;br /&gt;
    numDataBytes = 3&lt;br /&gt;
    nGroup = 0&lt;br /&gt;
    For CharCounter = 0 To 3&lt;br /&gt;
      thisChar = Mid(base64String, groupBegin + CharCounter, 1)&lt;br /&gt;
      If thisChar = &amp;quot;=&amp;quot; Then&lt;br /&gt;
        numDataBytes = numDataBytes - 1&lt;br /&gt;
        thisData = 0&lt;br /&gt;
      Else&lt;br /&gt;
        thisData = InStr(1, Base64, thisChar, vbBinaryCompare) - 1&lt;br /&gt;
      End If&lt;br /&gt;
      If thisData = -1 Then&lt;br /&gt;
        Err.Raise 2, &amp;quot;Base64Decode&amp;quot;, &amp;quot;Bad character In Base64 string.&amp;quot;&lt;br /&gt;
        Exit Function&lt;br /&gt;
      End If&lt;br /&gt;
      nGroup = 64 * nGroup + thisData&lt;br /&gt;
    Next&lt;br /&gt;
    nGroup = Hex(nGroup)&lt;br /&gt;
    nGroup = String(6 - Len(nGroup), &amp;quot;0&amp;quot;) &amp;amp; nGroup&lt;br /&gt;
    pOut = Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 1, 2))) + _&lt;br /&gt;
      Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 3, 2))) + _&lt;br /&gt;
      Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 5, 2)))&lt;br /&gt;
    sOut = sOut &amp;amp; Left(pOut, numDataBytes)&lt;br /&gt;
  Next&lt;br /&gt;
  Base64Decode = sOut&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category: Skriptimiskeeled]]&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Skript,_mis_pakib_failid_ja_laeb_ftp_abil_%C3%BCles&amp;diff=61194</id>
		<title>Skript, mis pakib failid ja laeb ftp abil üles</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Skript,_mis_pakib_failid_ja_laeb_ftp_abil_%C3%BCles&amp;diff=61194"/>
		<updated>2013-02-01T20:26:41Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Skript=&lt;br /&gt;
Mihkel Soomere (C)&lt;br /&gt;
&lt;br /&gt;
Allpool on ka VBScript variant, millest PowerShell variant porditi. See skript on VBS variandis ühe spetsiiflise süsteemi logide edastamiseks mõeldud ja live&#039;s kasutuses, sellest tulenevalt ei ole see päris universaalne lahendus. Nt logide transpordiks ette valmistamisel on tähtis säilitada emakausta nimi.&lt;br /&gt;
==PowerShell==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;#&lt;br /&gt;
.Synopsis&lt;br /&gt;
YourView andmete pushija&lt;br /&gt;
Edastab YourView logifailid koos struktuuriga FTPsse kokku Zipituna&lt;br /&gt;
Porditud VBS versioonist&lt;br /&gt;
Alustatud detsember 2012&lt;br /&gt;
Autor Mihkel Soomere&lt;br /&gt;
.DESCRIPTION&lt;br /&gt;
Skript vajab Zippimiseks: http://pscx.codeplex.com ja  FTP laadimiseks http://gallery.technet.microsoft.com/scriptcenter/PowerShell-FTP-Client-db6fe0cb&lt;br /&gt;
Testitud PS3 ja W8 peal&lt;br /&gt;
ToDo&lt;br /&gt;
Kui FTP ebaõnnestus, siis pane fail Queuesse. Järgmisel käivitusel laadi queue failid üles.&lt;br /&gt;
.EXAMPLE&lt;br /&gt;
YourViewPush.ps1 TallinnHarku&lt;br /&gt;
Kasutab jaama nimena TallinnHarku.&lt;br /&gt;
.INPUTS&lt;br /&gt;
Ainus atribuut on jaama nimi, mis peab koosnema A-Z, a-z, 0-9 märkidest&lt;br /&gt;
#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Param (&lt;br /&gt;
    [parameter(Mandatory=$true,HelpMessage=&amp;quot;Jaama nimes tohib olla sümboleid a-z ja numbreid 0-9&amp;quot;)]&lt;br /&gt;
    [ValidatePattern(&amp;quot;^[0-9a-zA-Z]+$&amp;quot;)]&lt;br /&gt;
    [String] $JaamaNimi&lt;br /&gt;
) &lt;br /&gt;
#Lülida debugimine sisse&lt;br /&gt;
#$DebugPreference = &amp;quot;Continue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;args.Count &amp;quot; + $args.Count)&lt;br /&gt;
Write-Debug (&amp;quot;args &amp;quot; + $args)&lt;br /&gt;
&lt;br /&gt;
#Logimise käivitamine&lt;br /&gt;
$LogFile = $env:TEMP + &amp;quot;\YWPushLog.txt&amp;quot;&lt;br /&gt;
Function LogWrite {&lt;br /&gt;
   Param ([string]$logstring)&lt;br /&gt;
   Write-Host $logstring&lt;br /&gt;
   Add-content $Logfile -value ((Get-Date -format &amp;quot;dd.MM.yyyy HH:mm&amp;quot;).ToString() + &amp;quot; &amp;quot; + $logstring)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;LogFile &amp;quot; + $LogFile)&lt;br /&gt;
&lt;br /&gt;
#Muutujate väärtustamine&lt;br /&gt;
#Muutumatu, kuna igal pool sama&lt;br /&gt;
$YourViewJuurkaust = &amp;quot;C:\YourView&amp;quot;&lt;br /&gt;
#Argumendist&lt;br /&gt;
$Jaamanimi = $args[0].ToString()&lt;br /&gt;
#Kujul YYYYMMDD&lt;br /&gt;
$KuuPaev = (Get-Date -Format &amp;quot;yyyyMMdd&amp;quot;).ToString()&lt;br /&gt;
#Alati jäetakse natuke logisid maha&lt;br /&gt;
$MaxFailivanus = 3&lt;br /&gt;
$YlekandeKaust = ($Jaamanimi + &amp;quot;-&amp;quot; + $KuuPaev)&lt;br /&gt;
$AjutineJuurkaust = ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust)&lt;br /&gt;
$YlekantavFailiNimi = ($YlekandeKaust + &amp;quot;.zip&amp;quot;)&lt;br /&gt;
#Implementeerimata&lt;br /&gt;
$TeadaolevadKaustad = &amp;quot;CT&amp;quot;,&amp;quot;FD&amp;quot;,&amp;quot;PTU&amp;quot;,&amp;quot;SR&amp;quot;,&amp;quot;TG&amp;quot;,&amp;quot;WA&amp;quot;,&amp;quot;WIND&amp;quot;,&amp;quot;CT25K&amp;quot;,&amp;quot;FD12P&amp;quot;,&amp;quot;PTU_INST&amp;quot;,&amp;quot;SR_INST&amp;quot;,&amp;quot;TG_INST&amp;quot;&lt;br /&gt;
$FTPServer = &amp;quot;&amp;quot;&lt;br /&gt;
$FTPServerTee = &amp;quot;&amp;quot;&lt;br /&gt;
$FTPServerKasutaja =&amp;quot;&amp;quot;&lt;br /&gt;
#Enamvähem turvaline paroolisalvestusviis, et skript ei küsiks FTPga üles laadides parooli&lt;br /&gt;
#Parooli salvestamiseks read-host -assecurestring | convertfrom-securestring | out-file C:\yourview\securestring.txt&lt;br /&gt;
$FTPServerParool = cat C:\yourview\securestring.txt | convertto-securestring&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;YourViewJuurKaust &amp;quot; + $YourViewJuurKaust)&lt;br /&gt;
Write-Debug (&amp;quot;JaamaNimi &amp;quot; + $Jaamanimi)&lt;br /&gt;
Write-Debug (&amp;quot;KuuPaev &amp;quot; + $KuuPaev)&lt;br /&gt;
Write-Debug (&amp;quot;MaxFailiVanus &amp;quot; + $MaxFailivanus)&lt;br /&gt;
Write-Debug (&amp;quot;YlekandeKaust &amp;quot; + $YlekandeKaust)&lt;br /&gt;
Write-Debug (&amp;quot;AjutineJuurkaust &amp;quot; + $AjutineJuurkaust)&lt;br /&gt;
Write-Debug (&amp;quot;YlekantavFailiNimi &amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
Write-Debug (&amp;quot;TeadaolevadKaustad &amp;quot; + $TeadaolevadKaustad)&lt;br /&gt;
&lt;br /&gt;
#Liigutab failid koos emakaustaga&lt;br /&gt;
Get-ChildItem $YourViewJuurkaust -Directory | ForEach-Object {&lt;br /&gt;
    Write-Debug (&amp;quot;YourViewChild &amp;quot; + $_.FullName)&lt;br /&gt;
    Get-ChildItem $_.FullName -Recurse | Where-Object {-not $_.PsIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-$MaxFailivanus) -and $_.Extension -eq &amp;quot;.csv&amp;quot;} | ForEach-Object {&lt;br /&gt;
        $Destination = ($AjutineJuurkaust + &amp;quot;\&amp;quot; + $_.Directory.Name + &amp;quot;\&amp;quot; + $_.Name)&lt;br /&gt;
        #Debug&lt;br /&gt;
        Write-Debug (&amp;quot;Source &amp;quot; + $_.FullName)&lt;br /&gt;
        Write-Debug (&amp;quot;Destination &amp;quot; + $Destination)&lt;br /&gt;
        #Workaround, kuna Move-Item ei loo faili liigutamisel pathi ette&lt;br /&gt;
        New-Item -ItemType Directory -Path ($AjutineJuurkaust + &amp;quot;\&amp;quot; + $_.Directory.Name) -Force&lt;br /&gt;
        Move-Item $_.FullName -Destination $Destination -Force&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Pakib failid kokku&lt;br /&gt;
Try{&lt;br /&gt;
    Write-Zip -Level 9 -IncludeEmptyDirectories -Path ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust) -OutputPath ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
}&lt;br /&gt;
Catch [system.exception] {&lt;br /&gt;
    LogWrite (&amp;quot;Viga 4! Pakkimine ebaõnnestus&amp;quot;)&lt;br /&gt;
    Exit 4&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Edastab ZIPi FTP&#039;ga&lt;br /&gt;
Try {&lt;br /&gt;
    #Creadential objekti on vaja, ses muidu ei saa kuidagi parooli ette anda&lt;br /&gt;
    $Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $FTPServerKasutaja,$FTPServerParool&lt;br /&gt;
    Set-FTPConnection -Credentials $Credential -Server $FTPServer -UseBinary -UsePassive&lt;br /&gt;
    Add-FTPItem -Path $FTPServerTee -LocalPath ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi) -Overwrite&lt;br /&gt;
}&lt;br /&gt;
Catch [system.exception] {&lt;br /&gt;
    LogWrite (&amp;quot;Viga 5! FTP Edastamine ebaõnnestus&amp;quot;)&lt;br /&gt;
    Exit 5&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Kustuta ZIP&lt;br /&gt;
Remove-Item ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
#Kustuta ajutine kaust&lt;br /&gt;
Remove-Item ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust) -Recurse&lt;br /&gt;
&lt;br /&gt;
#Exit&lt;br /&gt;
LogWrite (&amp;quot;Kõik OK!&amp;quot;)&lt;br /&gt;
Write-Debug &amp;quot;0&amp;quot;&lt;br /&gt;
Exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VBScript==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
&#039;YourView andmete pushija.&lt;br /&gt;
&#039;Alustas Mihkel Soomere augustis 2011.&lt;br /&gt;
&#039;Skripti mõte on transportida minutiandmed automaatselt peamajja objektidel, kus pole püsiühendust ega VPNi.&lt;br /&gt;
&#039;Sõltuvused on 7-zip ja ncftpput.&lt;br /&gt;
&#039;Skript eeldab, et ta leiab asjad määratud kaustadest.&lt;br /&gt;
&#039;st 7-zip peab olema arhitektuuripõhine, ncftpput võib olla ka 32b, sest see läheb system32&#039;te&lt;br /&gt;
&#039;Testitud Windows 7 peal, kuid peaks töötama kõige peal alates Windows 2000.&lt;br /&gt;
&lt;br /&gt;
&#039;Kasutamine&lt;br /&gt;
&#039;Kopeeri skript ja ncftpput windows\system32 kausta&lt;br /&gt;
&#039;Kontorlli, et 7-zip oleks sama, mis operatsioonissüsteemi arhitektuur (alati %programfiles% variable)&lt;br /&gt;
&#039;Lisa Task Scheduleri&lt;br /&gt;
&#039;Kasutajaks SYSTEM&lt;br /&gt;
&#039;Käivita parameetriga jaama nimi.&lt;br /&gt;
&#039;Käivita igal pühapäeval kell 00 (üldjuhul UTC)&lt;br /&gt;
&#039;Jaama nimi peaks olema ASCII märkidega ja kõik kokku, nt narvajoesuu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Workflow:&lt;br /&gt;
&#039;Loo ajutine kaust mis koosneb arvuti nimest ja kuupäevast&lt;br /&gt;
&#039;Liiguta määratud ajast vanem sisu YW põhikaustadest ajutisse kausta&lt;br /&gt;
&#039;Paki ajutine kaust kokku&lt;br /&gt;
&#039;Saada pakitud info ära&lt;br /&gt;
&#039;Kustuta ajutised asjad&lt;br /&gt;
&#039;Kui midagi vahepeal feilib, skript väljub&lt;br /&gt;
&#039;Järgmise käivituse ajal korjab see kokku ka eelmisest käivitusest üle jäänud sodi, pakib selle uuesti kokku ning üritab uuesti ära saata&lt;br /&gt;
&lt;br /&gt;
&#039;Muudatused&lt;br /&gt;
&#039;1.1&lt;br /&gt;
&#039;CURL vahetatud ncfptput vastu, muutujad jäävad samaks.&lt;br /&gt;
&#039;Failid luuakse argumendist võetava failinimega, lisatud kiire väljumine koodiga 6 argumendi puudumisel&lt;br /&gt;
&#039;Logifunktsioon varasemaks toodud, et kontrollida argumendi puudumist&lt;br /&gt;
&#039;1.2&lt;br /&gt;
&#039;Muudetud saadetavate failide nimekuju kujule YYYYMMDD&lt;br /&gt;
&#039;Lisatud koristaja&lt;br /&gt;
&#039;1.2a&lt;br /&gt;
&#039;Välja lülitatud vigane kustutaja&lt;br /&gt;
&lt;br /&gt;
&#039;Karm režiim, nõua muutujate defineerimist, aitab debugimisel&lt;br /&gt;
Option Explicit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Muutujate loomine&lt;br /&gt;
Dim LogFile, Shell, FileSystemObject, RootFolder, SourceFolder, SourceFolderSubfolder, TransferRootFolder, TransferFile, CreateFolderPath, TransferPath, FileAge, FTPServer, FTPServerUser, FTPServerPassword, SevenZipPath, CURLPath, ComputerName, WshNetwork, FileItem, FTPServerPath, SevenZipExec, i, Run7Zip, LogFileAccess, CURLExec, RunCURL, CleanupFolder, FolderArray, FolderEntry, IsKnownFolder&lt;br /&gt;
&lt;br /&gt;
&#039;Objektide loomine&lt;br /&gt;
Set Shell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
Set FileSystemObject = CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;br /&gt;
Set WshNetwork = WScript.CreateObject(&amp;quot;WScript.Network&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&#039;Initsialiseeri logi&lt;br /&gt;
&#039;Logifail&lt;br /&gt;
LogFile = Shell.ExpandEnvironmentStrings(&amp;quot;%TEMP%&amp;quot;) &amp;amp; &amp;quot;\YWPushLog.txt&amp;quot;&lt;br /&gt;
&#039;Logi funktsioon&lt;br /&gt;
Set LogFile = FileSystemObject.OpenTextFile(LogFile,8,True)&lt;br /&gt;
&lt;br /&gt;
&#039;Atribuudi olemasolu kontroll&lt;br /&gt;
If WScript.Arguments.Count &amp;lt; 1 Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu käsurea argument määramaks jaama nimi. Errorcode: 6&amp;quot;&lt;br /&gt;
	WScript.quit(6)&lt;br /&gt;
end If&lt;br /&gt;
&lt;br /&gt;
&#039;Muutujate määramine&lt;br /&gt;
&#039;See on hardcodetud, kuna YourView path on igalpool sama.&lt;br /&gt;
Set RootFolder = FileSystemObject.GetFolder(&amp;quot;C:\YourView&amp;quot;)&lt;br /&gt;
&#039;Määrab saatmise kausta tee ja faili&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;Algses skrptis kasutati faili jaoks arvuti nime, selletõttu on muutuja ikka ComputerName, kuigi tema sisu on muutunud.&lt;br /&gt;
ComputerName = WScript.Arguments.Item(0)&lt;br /&gt;
TransferRootFolder = RootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; ComputerName &amp;amp; &amp;quot;-&amp;quot; &amp;amp; Date()&lt;br /&gt;
TransferFile = ComputerName &amp;amp; &amp;quot;-&amp;quot; &amp;amp; Year(Date) &amp;amp; Right(&amp;quot;0&amp;quot; &amp;amp; Month(Date),2) &amp;amp; Right(&amp;quot;0&amp;quot; &amp;amp; Day(Date),2) &amp;amp; &amp;quot;.zip&amp;quot;&lt;br /&gt;
&#039;1.2 lisand - eeldatavate kaustade massiiv&lt;br /&gt;
FolderArray = Array(&amp;quot;CT&amp;quot;,&amp;quot;FD&amp;quot;,&amp;quot;PTU&amp;quot;,&amp;quot;SR&amp;quot;,&amp;quot;TG&amp;quot;,&amp;quot;WA&amp;quot;,&amp;quot;WIND&amp;quot;,&amp;quot;CT25K&amp;quot;,&amp;quot;FD12P&amp;quot;,&amp;quot;PTU_INST&amp;quot;,&amp;quot;SR_INST&amp;quot;,&amp;quot;TG_INST&amp;quot;)&lt;br /&gt;
&#039;Rohkem kui järgnev arv päevi vanad failid võetakse töötlusse&lt;br /&gt;
FileAge = 3&lt;br /&gt;
&#039;FTP ligipääsu andmed&lt;br /&gt;
FTPServer = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerPath = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerUser = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerPassword = &amp;quot;&amp;quot;&lt;br /&gt;
&#039;Väliste rakenduste pathid&lt;br /&gt;
SevenZipPath = Shell.ExpandEnvironmentStrings(&amp;quot;%ProgramFiles%&amp;quot;) &amp;amp; &amp;quot;\7-Zip\7z.exe&amp;quot;&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;CURL viitab tegelikult ncftpput&#039;ile&lt;br /&gt;
CURLPath = FileSystemObject.GetSpecialFolder(1) &amp;amp; &amp;quot;\ncftpput.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Kontrolli kas YourView kaust on olemas&lt;br /&gt;
If Not FileSystemObject.FolderExists(RootFolder) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitline viga! Puudu järgnev oluline kaust: &amp;quot; &amp;amp; RootFolder &amp;amp; &amp;quot; Variable: RootFolder Errorcode: 1&amp;quot;&lt;br /&gt;
	WScript.quit(1)&lt;br /&gt;
End If&lt;br /&gt;
&#039;Kontrolli kas 7-Zip on olemas&lt;br /&gt;
If Not FileSystemObject.FileExists(SevenZipPath) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu järgnev oluline fail: &amp;quot; &amp;amp; SevenZipPath &amp;amp; &amp;quot; Variable: SevenZipPath Errorcode: 2&amp;quot;&lt;br /&gt;
	WScript.quit(2)&lt;br /&gt;
End If&lt;br /&gt;
&#039;Kontrolli kas CURL on olemas&lt;br /&gt;
If Not FileSystemObject.FileExists(CURLPath) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu järgnev oluline fail: &amp;quot; &amp;amp; CURLPath &amp;amp; &amp;quot; Variable: CURLPath Errorcode: 2&amp;quot;&lt;br /&gt;
	WScript.quit(3)&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Loo edastamise kaustastruktuuur ja liiguta andmed&lt;br /&gt;
If Not FileSystemObject.FolderExists(TransferRootFolder) Then&lt;br /&gt;
	Set CreateFolderPath = FileSystemObject.CreateFolder(TransferRootFolder)&lt;br /&gt;
End If&lt;br /&gt;
For Each SourceFolder in RootFolder.SubFolders&lt;br /&gt;
	&#039;Jäta vahele edastuskaust ise&lt;br /&gt;
	If Not SourceFolder = TransferRootFolder Then&lt;br /&gt;
		TransferPath = TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; SourceFolder.Name&lt;br /&gt;
		If Not FileSystemObject.FolderExists(TransferPath) Then&lt;br /&gt;
			Set CreateFolderPath = FileSystemObject.CreateFolder(TransferPath)&lt;br /&gt;
		End If&lt;br /&gt;
		For Each FileItem in SourceFolder.Files&lt;br /&gt;
			If DateDiff(&amp;quot;d&amp;quot;,FileItem.DateLastModified,Now()) &amp;gt; FileAge Then&lt;br /&gt;
				FileSystemObject.MoveFile SourceFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; FileItem.Name , TransferPath &amp;amp; &amp;quot;\&amp;quot; &amp;amp; FileItem.Name&lt;br /&gt;
			End If&lt;br /&gt;
		Next&lt;br /&gt;
	End If&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Paki andmed kokku 7Zip kasutades. See loopib et vea korral uuesti proovida&lt;br /&gt;
&#039;Määra käsurea parameetrid&lt;br /&gt;
SevenZipExec = chr(34) &amp;amp; SevenZipPath &amp;amp; chr(34) &amp;amp; &amp;quot; a -tzip &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; TransferFile &amp;amp; chr(34) &amp;amp; &amp;quot; &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; chr(34)&lt;br /&gt;
&#039;Nulli tsüklikordaja&lt;br /&gt;
i=0&lt;br /&gt;
&#039;Käivita tsükkel 3 korda&lt;br /&gt;
Do While (i&amp;lt;3)&lt;br /&gt;
	&#039;Käivita peidetuna ning oota käivituse lõppu.&lt;br /&gt;
	Run7Zip = Shell.Run(SevenZipExec,0,True)&lt;br /&gt;
	&#039;Kui pakkimine õnnestus, välju tsüklist&lt;br /&gt;
	If (Run7Zip = 0) Then Exit Do&lt;br /&gt;
	&#039;Kui 3 korda proovitud, kirjuta logisse ning välju skriptist veakoodiga 4&lt;br /&gt;
	&#039;Jäta vahele andmete saatmine, kui seda pole niikuinii pakitud&lt;br /&gt;
	If (i = 2) Then&lt;br /&gt;
		LogFile.WriteLine Now() &amp;amp; &amp;quot; Fataaalne viga pakkimisel! Proovitud 3 korda pakkida. Errorcode 4 ReturnCode: &amp;quot; &amp;amp; Run7Zip &amp;amp; &amp;quot; SevenZipExec: &amp;quot; &amp;amp; SevenZipExec&lt;br /&gt;
		WScript.quit(4)&lt;br /&gt;
	End If&lt;br /&gt;
	&#039;Kui oli viga, siis kirjuta ReturnCode ja käivitatud käsurida logisse&lt;br /&gt;
	If Not (Run7Zip = 0) Then LogFile.WriteLine Now() &amp;amp; &amp;quot; Viga pakkimisel! Proovin uuesti. ReturnCode: &amp;quot; &amp;amp; Run7Zip &amp;amp; &amp;quot; SevenZipExec: &amp;quot; &amp;amp; SevenZipExec&lt;br /&gt;
	&#039;Suurenda tsüklikordajat&lt;br /&gt;
	i = i+1&lt;br /&gt;
	&#039;Oota 10 minutit&lt;br /&gt;
	WScript.Sleep 600000&lt;br /&gt;
Loop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Edasta andmed CURL kasutades. See loopib et vea korral uuesti proovida&lt;br /&gt;
&#039;Määra käsurea parameetrid&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;Parameetrid on ncftpput jaoks&lt;br /&gt;
CURLExec = chr(34) &amp;amp; CURLPath &amp;amp; chr(34) &amp;amp; &amp;quot; -u &amp;quot; &amp;amp; FTPServerUser &amp;amp; &amp;quot; -p &amp;quot; &amp;amp; Base64Decode(FTPServerPassword) &amp;amp; &amp;quot; -T . &amp;quot; &amp;amp; FTPServer &amp;amp; &amp;quot; &amp;quot; &amp;amp; FTPServerPath &amp;amp; &amp;quot; &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; TransferFile &amp;amp; chr(34)&lt;br /&gt;
&#039;Nulli tsüklikordaja&lt;br /&gt;
i=0&lt;br /&gt;
&#039;Käivita 10 korda&lt;br /&gt;
Do While (i&amp;lt;10)&lt;br /&gt;
	&#039;Käivita peidetuna ning oota käivituse lõppu.&lt;br /&gt;
	RunCURL = Shell.Run(CURLExec,0,True)&lt;br /&gt;
	&#039;Kui pakkimine õnnestus, välju tsüklist&lt;br /&gt;
	If (RunCURL = 0) Then Exit Do&lt;br /&gt;
	&#039;Kui 10 korda proovitud, kirjuta logisse ning välju skriptist veakoodiga 5&lt;br /&gt;
	If (i = 9) Then&lt;br /&gt;
		LogFile.WriteLine Now() &amp;amp; &amp;quot; Fataaalne viga saatmisel! Proovitud 10 korda saata. Errorcode 5 ReturnCode: &amp;quot; &amp;amp; RunCURL &amp;amp; &amp;quot; CURLExec: &amp;quot; &amp;amp; CURLExec&lt;br /&gt;
		WScript.quit(5)&lt;br /&gt;
	End If&lt;br /&gt;
	&#039;Kui oli viga, siis kirjuta ReturnCode ja käivitatud käsurida logisse&lt;br /&gt;
	If Not (RunCURL = 0) Then LogFile.WriteLine Now() &amp;amp; &amp;quot; Viga saatmisel! Proovin uuesti. ReturnCode: &amp;quot; &amp;amp; RunCURL &amp;amp; &amp;quot; CURLExec: &amp;quot; &amp;amp; CURLExec&lt;br /&gt;
	&#039;Suurenda tsüklikordajat&lt;br /&gt;
	i = i+1&lt;br /&gt;
	&#039;Oota 10 minutit&lt;br /&gt;
	WScript.Sleep 600000&lt;br /&gt;
Loop&lt;br /&gt;
&#039;Kui kõik ikkagi õnnestus kirjuta logisse maha&lt;br /&gt;
LogFile.WriteLine Now() &amp;amp; &amp;quot; Kõik OK!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;Eemalda edastatud andmed&lt;br /&gt;
FileSystemObject.DeleteFolder TransferRootFolder&lt;br /&gt;
&#039;Korista ära ja välju ilma veata&lt;br /&gt;
&#039;Lisa 1.2&lt;br /&gt;
&#039;Loopib läbi kõik kaustad ning võrdleb neid teadaolevate kaustadega - kui kaust pole teadaolev, kustuta.&lt;br /&gt;
&#039;Lisa 1.2a&lt;br /&gt;
&#039;Kustutaja välja lülitatud, kuna mõned kaustad teadmata põhjusel kustutatakse valesti&lt;br /&gt;
&#039;For Each CleanupFolder in RootFolder.SubFolders&lt;br /&gt;
&#039;	IsKnownFolder=False&lt;br /&gt;
&#039;	For Each FolderEntry in FolderArray&lt;br /&gt;
&#039;		If CleanupFolder = &amp;quot;C:\YourView\&amp;quot; &amp;amp; FolderEntry Then&lt;br /&gt;
&#039;			IsKnownFolder=True&lt;br /&gt;
&#039;		End If&lt;br /&gt;
&#039;	Next&lt;br /&gt;
&#039;	If IsKnownFolder = False Then&lt;br /&gt;
&#039;		FileSystemObject.DeleteFolder CleanupFolder&lt;br /&gt;
&#039;	End If&lt;br /&gt;
&#039;Next&lt;br /&gt;
WScript.quit()&lt;br /&gt;
&lt;br /&gt;
&#039;Väline libra Base64 dekodeerimiseks&lt;br /&gt;
Function Base64Decode(ByVal base64String)&lt;br /&gt;
  Const Base64 = &amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&amp;quot;&lt;br /&gt;
  Dim dataLength, sOut, groupBegin&lt;br /&gt;
  base64String = Replace(base64String, vbCrLf, &amp;quot;&amp;quot;)&lt;br /&gt;
  base64String = Replace(base64String, vbTab, &amp;quot;&amp;quot;)&lt;br /&gt;
  base64String = Replace(base64String, &amp;quot; &amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
  dataLength = Len(base64String)&lt;br /&gt;
  If dataLength Mod 4 &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
    Err.Raise 1, &amp;quot;Base64Decode&amp;quot;, &amp;quot;Bad Base64 string.&amp;quot;&lt;br /&gt;
    Exit Function&lt;br /&gt;
  End If&lt;br /&gt;
  For groupBegin = 1 To dataLength Step 4&lt;br /&gt;
    Dim numDataBytes, CharCounter, thisChar, thisData, nGroup, pOut&lt;br /&gt;
    numDataBytes = 3&lt;br /&gt;
    nGroup = 0&lt;br /&gt;
    For CharCounter = 0 To 3&lt;br /&gt;
      thisChar = Mid(base64String, groupBegin + CharCounter, 1)&lt;br /&gt;
      If thisChar = &amp;quot;=&amp;quot; Then&lt;br /&gt;
        numDataBytes = numDataBytes - 1&lt;br /&gt;
        thisData = 0&lt;br /&gt;
      Else&lt;br /&gt;
        thisData = InStr(1, Base64, thisChar, vbBinaryCompare) - 1&lt;br /&gt;
      End If&lt;br /&gt;
      If thisData = -1 Then&lt;br /&gt;
        Err.Raise 2, &amp;quot;Base64Decode&amp;quot;, &amp;quot;Bad character In Base64 string.&amp;quot;&lt;br /&gt;
        Exit Function&lt;br /&gt;
      End If&lt;br /&gt;
      nGroup = 64 * nGroup + thisData&lt;br /&gt;
    Next&lt;br /&gt;
    nGroup = Hex(nGroup)&lt;br /&gt;
    nGroup = String(6 - Len(nGroup), &amp;quot;0&amp;quot;) &amp;amp; nGroup&lt;br /&gt;
    pOut = Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 1, 2))) + _&lt;br /&gt;
      Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 3, 2))) + _&lt;br /&gt;
      Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 5, 2)))&lt;br /&gt;
    sOut = sOut &amp;amp; Left(pOut, numDataBytes)&lt;br /&gt;
  Next&lt;br /&gt;
  Base64Decode = sOut&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category: Skriptimiskeeled]]&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Skript,_mis_pakib_failid_ja_laeb_ftp_abil_%C3%BCles&amp;diff=61193</id>
		<title>Skript, mis pakib failid ja laeb ftp abil üles</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Skript,_mis_pakib_failid_ja_laeb_ftp_abil_%C3%BCles&amp;diff=61193"/>
		<updated>2013-02-01T20:26:27Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Skript=&lt;br /&gt;
Mihkel Soomere (C)&lt;br /&gt;
&lt;br /&gt;
Allpool on ka VBScript variant, millest PowerShell variant porditi. See skript on VBS variandis ühe spetsiiflise süsteemi logide edastamiseks mõeldud ja live&#039;s kasutuses, sellest tulenevalt ei ole see päris universaalne lahendus. Nt logide transpordiks ette valmistamisel on tähtis säilitada emakausta nimi.&lt;br /&gt;
==PowerShell==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;#&lt;br /&gt;
.Synopsis&lt;br /&gt;
YourView andmete pushija&lt;br /&gt;
Edastab YourView logifailid koos struktuuriga FTP&#039;sse kokku Zipituna&lt;br /&gt;
Porditud VBS versioonist&lt;br /&gt;
Alustatud detsember 2012&lt;br /&gt;
Autor Mihkel Soomere&lt;br /&gt;
.DESCRIPTION&lt;br /&gt;
Skript vajab Zippimiseks: http://pscx.codeplex.com ja  FTP laadimiseks http://gallery.technet.microsoft.com/scriptcenter/PowerShell-FTP-Client-db6fe0cb&lt;br /&gt;
Testitud PS3 ja W8 peal&lt;br /&gt;
ToDo&lt;br /&gt;
Kui FTP ebaõnnestus, siis pane fail Queuesse. Järgmisel käivitusel laadi queue failid üles.&lt;br /&gt;
.EXAMPLE&lt;br /&gt;
YourViewPush.ps1 TallinnHarku&lt;br /&gt;
Kasutab jaama nimena TallinnHarku.&lt;br /&gt;
.INPUTS&lt;br /&gt;
Ainus atribuut on jaama nimi, mis peab koosnema A-Z, a-z, 0-9 märkidest&lt;br /&gt;
#&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Param (&lt;br /&gt;
    [parameter(Mandatory=$true,HelpMessage=&amp;quot;Jaama nimes tohib olla sümboleid a-z ja numbreid 0-9&amp;quot;)]&lt;br /&gt;
    [ValidatePattern(&amp;quot;^[0-9a-zA-Z]+$&amp;quot;)]&lt;br /&gt;
    [String] $JaamaNimi&lt;br /&gt;
) &lt;br /&gt;
#Lülida debugimine sisse&lt;br /&gt;
#$DebugPreference = &amp;quot;Continue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;args.Count &amp;quot; + $args.Count)&lt;br /&gt;
Write-Debug (&amp;quot;args &amp;quot; + $args)&lt;br /&gt;
&lt;br /&gt;
#Logimise käivitamine&lt;br /&gt;
$LogFile = $env:TEMP + &amp;quot;\YWPushLog.txt&amp;quot;&lt;br /&gt;
Function LogWrite {&lt;br /&gt;
   Param ([string]$logstring)&lt;br /&gt;
   Write-Host $logstring&lt;br /&gt;
   Add-content $Logfile -value ((Get-Date -format &amp;quot;dd.MM.yyyy HH:mm&amp;quot;).ToString() + &amp;quot; &amp;quot; + $logstring)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;LogFile &amp;quot; + $LogFile)&lt;br /&gt;
&lt;br /&gt;
#Muutujate väärtustamine&lt;br /&gt;
#Muutumatu, kuna igal pool sama&lt;br /&gt;
$YourViewJuurkaust = &amp;quot;C:\YourView&amp;quot;&lt;br /&gt;
#Argumendist&lt;br /&gt;
$Jaamanimi = $args[0].ToString()&lt;br /&gt;
#Kujul YYYYMMDD&lt;br /&gt;
$KuuPaev = (Get-Date -Format &amp;quot;yyyyMMdd&amp;quot;).ToString()&lt;br /&gt;
#Alati jäetakse natuke logisid maha&lt;br /&gt;
$MaxFailivanus = 3&lt;br /&gt;
$YlekandeKaust = ($Jaamanimi + &amp;quot;-&amp;quot; + $KuuPaev)&lt;br /&gt;
$AjutineJuurkaust = ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust)&lt;br /&gt;
$YlekantavFailiNimi = ($YlekandeKaust + &amp;quot;.zip&amp;quot;)&lt;br /&gt;
#Implementeerimata&lt;br /&gt;
$TeadaolevadKaustad = &amp;quot;CT&amp;quot;,&amp;quot;FD&amp;quot;,&amp;quot;PTU&amp;quot;,&amp;quot;SR&amp;quot;,&amp;quot;TG&amp;quot;,&amp;quot;WA&amp;quot;,&amp;quot;WIND&amp;quot;,&amp;quot;CT25K&amp;quot;,&amp;quot;FD12P&amp;quot;,&amp;quot;PTU_INST&amp;quot;,&amp;quot;SR_INST&amp;quot;,&amp;quot;TG_INST&amp;quot;&lt;br /&gt;
$FTPServer = &amp;quot;&amp;quot;&lt;br /&gt;
$FTPServerTee = &amp;quot;&amp;quot;&lt;br /&gt;
$FTPServerKasutaja =&amp;quot;&amp;quot;&lt;br /&gt;
#Enamvähem turvaline paroolisalvestusviis, et skript ei küsiks FTPga üles laadides parooli&lt;br /&gt;
#Parooli salvestamiseks read-host -assecurestring | convertfrom-securestring | out-file C:\yourview\securestring.txt&lt;br /&gt;
$FTPServerParool = cat C:\yourview\securestring.txt | convertto-securestring&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;YourViewJuurKaust &amp;quot; + $YourViewJuurKaust)&lt;br /&gt;
Write-Debug (&amp;quot;JaamaNimi &amp;quot; + $Jaamanimi)&lt;br /&gt;
Write-Debug (&amp;quot;KuuPaev &amp;quot; + $KuuPaev)&lt;br /&gt;
Write-Debug (&amp;quot;MaxFailiVanus &amp;quot; + $MaxFailivanus)&lt;br /&gt;
Write-Debug (&amp;quot;YlekandeKaust &amp;quot; + $YlekandeKaust)&lt;br /&gt;
Write-Debug (&amp;quot;AjutineJuurkaust &amp;quot; + $AjutineJuurkaust)&lt;br /&gt;
Write-Debug (&amp;quot;YlekantavFailiNimi &amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
Write-Debug (&amp;quot;TeadaolevadKaustad &amp;quot; + $TeadaolevadKaustad)&lt;br /&gt;
&lt;br /&gt;
#Liigutab failid koos emakaustaga&lt;br /&gt;
Get-ChildItem $YourViewJuurkaust -Directory | ForEach-Object {&lt;br /&gt;
    Write-Debug (&amp;quot;YourViewChild &amp;quot; + $_.FullName)&lt;br /&gt;
    Get-ChildItem $_.FullName -Recurse | Where-Object {-not $_.PsIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-$MaxFailivanus) -and $_.Extension -eq &amp;quot;.csv&amp;quot;} | ForEach-Object {&lt;br /&gt;
        $Destination = ($AjutineJuurkaust + &amp;quot;\&amp;quot; + $_.Directory.Name + &amp;quot;\&amp;quot; + $_.Name)&lt;br /&gt;
        #Debug&lt;br /&gt;
        Write-Debug (&amp;quot;Source &amp;quot; + $_.FullName)&lt;br /&gt;
        Write-Debug (&amp;quot;Destination &amp;quot; + $Destination)&lt;br /&gt;
        #Workaround, kuna Move-Item ei loo faili liigutamisel pathi ette&lt;br /&gt;
        New-Item -ItemType Directory -Path ($AjutineJuurkaust + &amp;quot;\&amp;quot; + $_.Directory.Name) -Force&lt;br /&gt;
        Move-Item $_.FullName -Destination $Destination -Force&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Pakib failid kokku&lt;br /&gt;
Try{&lt;br /&gt;
    Write-Zip -Level 9 -IncludeEmptyDirectories -Path ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust) -OutputPath ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
}&lt;br /&gt;
Catch [system.exception] {&lt;br /&gt;
    LogWrite (&amp;quot;Viga 4! Pakkimine ebaõnnestus&amp;quot;)&lt;br /&gt;
    Exit 4&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Edastab ZIPi FTP&#039;ga&lt;br /&gt;
Try {&lt;br /&gt;
    #Creadential objekti on vaja, ses muidu ei saa kuidagi parooli ette anda&lt;br /&gt;
    $Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $FTPServerKasutaja,$FTPServerParool&lt;br /&gt;
    Set-FTPConnection -Credentials $Credential -Server $FTPServer -UseBinary -UsePassive&lt;br /&gt;
    Add-FTPItem -Path $FTPServerTee -LocalPath ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi) -Overwrite&lt;br /&gt;
}&lt;br /&gt;
Catch [system.exception] {&lt;br /&gt;
    LogWrite (&amp;quot;Viga 5! FTP Edastamine ebaõnnestus&amp;quot;)&lt;br /&gt;
    Exit 5&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Kustuta ZIP&lt;br /&gt;
Remove-Item ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
#Kustuta ajutine kaust&lt;br /&gt;
Remove-Item ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust) -Recurse&lt;br /&gt;
&lt;br /&gt;
#Exit&lt;br /&gt;
LogWrite (&amp;quot;Kõik OK!&amp;quot;)&lt;br /&gt;
Write-Debug &amp;quot;0&amp;quot;&lt;br /&gt;
Exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==VBScript==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
&#039;YourView andmete pushija.&lt;br /&gt;
&#039;Alustas Mihkel Soomere augustis 2011.&lt;br /&gt;
&#039;Skripti mõte on transportida minutiandmed automaatselt peamajja objektidel, kus pole püsiühendust ega VPNi.&lt;br /&gt;
&#039;Sõltuvused on 7-zip ja ncftpput.&lt;br /&gt;
&#039;Skript eeldab, et ta leiab asjad määratud kaustadest.&lt;br /&gt;
&#039;st 7-zip peab olema arhitektuuripõhine, ncftpput võib olla ka 32b, sest see läheb system32&#039;te&lt;br /&gt;
&#039;Testitud Windows 7 peal, kuid peaks töötama kõige peal alates Windows 2000.&lt;br /&gt;
&lt;br /&gt;
&#039;Kasutamine&lt;br /&gt;
&#039;Kopeeri skript ja ncftpput windows\system32 kausta&lt;br /&gt;
&#039;Kontorlli, et 7-zip oleks sama, mis operatsioonissüsteemi arhitektuur (alati %programfiles% variable)&lt;br /&gt;
&#039;Lisa Task Scheduleri&lt;br /&gt;
&#039;Kasutajaks SYSTEM&lt;br /&gt;
&#039;Käivita parameetriga jaama nimi.&lt;br /&gt;
&#039;Käivita igal pühapäeval kell 00 (üldjuhul UTC)&lt;br /&gt;
&#039;Jaama nimi peaks olema ASCII märkidega ja kõik kokku, nt narvajoesuu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Workflow:&lt;br /&gt;
&#039;Loo ajutine kaust mis koosneb arvuti nimest ja kuupäevast&lt;br /&gt;
&#039;Liiguta määratud ajast vanem sisu YW põhikaustadest ajutisse kausta&lt;br /&gt;
&#039;Paki ajutine kaust kokku&lt;br /&gt;
&#039;Saada pakitud info ära&lt;br /&gt;
&#039;Kustuta ajutised asjad&lt;br /&gt;
&#039;Kui midagi vahepeal feilib, skript väljub&lt;br /&gt;
&#039;Järgmise käivituse ajal korjab see kokku ka eelmisest käivitusest üle jäänud sodi, pakib selle uuesti kokku ning üritab uuesti ära saata&lt;br /&gt;
&lt;br /&gt;
&#039;Muudatused&lt;br /&gt;
&#039;1.1&lt;br /&gt;
&#039;CURL vahetatud ncfptput vastu, muutujad jäävad samaks.&lt;br /&gt;
&#039;Failid luuakse argumendist võetava failinimega, lisatud kiire väljumine koodiga 6 argumendi puudumisel&lt;br /&gt;
&#039;Logifunktsioon varasemaks toodud, et kontrollida argumendi puudumist&lt;br /&gt;
&#039;1.2&lt;br /&gt;
&#039;Muudetud saadetavate failide nimekuju kujule YYYYMMDD&lt;br /&gt;
&#039;Lisatud koristaja&lt;br /&gt;
&#039;1.2a&lt;br /&gt;
&#039;Välja lülitatud vigane kustutaja&lt;br /&gt;
&lt;br /&gt;
&#039;Karm režiim, nõua muutujate defineerimist, aitab debugimisel&lt;br /&gt;
Option Explicit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Muutujate loomine&lt;br /&gt;
Dim LogFile, Shell, FileSystemObject, RootFolder, SourceFolder, SourceFolderSubfolder, TransferRootFolder, TransferFile, CreateFolderPath, TransferPath, FileAge, FTPServer, FTPServerUser, FTPServerPassword, SevenZipPath, CURLPath, ComputerName, WshNetwork, FileItem, FTPServerPath, SevenZipExec, i, Run7Zip, LogFileAccess, CURLExec, RunCURL, CleanupFolder, FolderArray, FolderEntry, IsKnownFolder&lt;br /&gt;
&lt;br /&gt;
&#039;Objektide loomine&lt;br /&gt;
Set Shell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
Set FileSystemObject = CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;br /&gt;
Set WshNetwork = WScript.CreateObject(&amp;quot;WScript.Network&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&#039;Initsialiseeri logi&lt;br /&gt;
&#039;Logifail&lt;br /&gt;
LogFile = Shell.ExpandEnvironmentStrings(&amp;quot;%TEMP%&amp;quot;) &amp;amp; &amp;quot;\YWPushLog.txt&amp;quot;&lt;br /&gt;
&#039;Logi funktsioon&lt;br /&gt;
Set LogFile = FileSystemObject.OpenTextFile(LogFile,8,True)&lt;br /&gt;
&lt;br /&gt;
&#039;Atribuudi olemasolu kontroll&lt;br /&gt;
If WScript.Arguments.Count &amp;lt; 1 Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu käsurea argument määramaks jaama nimi. Errorcode: 6&amp;quot;&lt;br /&gt;
	WScript.quit(6)&lt;br /&gt;
end If&lt;br /&gt;
&lt;br /&gt;
&#039;Muutujate määramine&lt;br /&gt;
&#039;See on hardcodetud, kuna YourView path on igalpool sama.&lt;br /&gt;
Set RootFolder = FileSystemObject.GetFolder(&amp;quot;C:\YourView&amp;quot;)&lt;br /&gt;
&#039;Määrab saatmise kausta tee ja faili&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;Algses skrptis kasutati faili jaoks arvuti nime, selletõttu on muutuja ikka ComputerName, kuigi tema sisu on muutunud.&lt;br /&gt;
ComputerName = WScript.Arguments.Item(0)&lt;br /&gt;
TransferRootFolder = RootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; ComputerName &amp;amp; &amp;quot;-&amp;quot; &amp;amp; Date()&lt;br /&gt;
TransferFile = ComputerName &amp;amp; &amp;quot;-&amp;quot; &amp;amp; Year(Date) &amp;amp; Right(&amp;quot;0&amp;quot; &amp;amp; Month(Date),2) &amp;amp; Right(&amp;quot;0&amp;quot; &amp;amp; Day(Date),2) &amp;amp; &amp;quot;.zip&amp;quot;&lt;br /&gt;
&#039;1.2 lisand - eeldatavate kaustade massiiv&lt;br /&gt;
FolderArray = Array(&amp;quot;CT&amp;quot;,&amp;quot;FD&amp;quot;,&amp;quot;PTU&amp;quot;,&amp;quot;SR&amp;quot;,&amp;quot;TG&amp;quot;,&amp;quot;WA&amp;quot;,&amp;quot;WIND&amp;quot;,&amp;quot;CT25K&amp;quot;,&amp;quot;FD12P&amp;quot;,&amp;quot;PTU_INST&amp;quot;,&amp;quot;SR_INST&amp;quot;,&amp;quot;TG_INST&amp;quot;)&lt;br /&gt;
&#039;Rohkem kui järgnev arv päevi vanad failid võetakse töötlusse&lt;br /&gt;
FileAge = 3&lt;br /&gt;
&#039;FTP ligipääsu andmed&lt;br /&gt;
FTPServer = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerPath = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerUser = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerPassword = &amp;quot;&amp;quot;&lt;br /&gt;
&#039;Väliste rakenduste pathid&lt;br /&gt;
SevenZipPath = Shell.ExpandEnvironmentStrings(&amp;quot;%ProgramFiles%&amp;quot;) &amp;amp; &amp;quot;\7-Zip\7z.exe&amp;quot;&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;CURL viitab tegelikult ncftpput&#039;ile&lt;br /&gt;
CURLPath = FileSystemObject.GetSpecialFolder(1) &amp;amp; &amp;quot;\ncftpput.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Kontrolli kas YourView kaust on olemas&lt;br /&gt;
If Not FileSystemObject.FolderExists(RootFolder) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitline viga! Puudu järgnev oluline kaust: &amp;quot; &amp;amp; RootFolder &amp;amp; &amp;quot; Variable: RootFolder Errorcode: 1&amp;quot;&lt;br /&gt;
	WScript.quit(1)&lt;br /&gt;
End If&lt;br /&gt;
&#039;Kontrolli kas 7-Zip on olemas&lt;br /&gt;
If Not FileSystemObject.FileExists(SevenZipPath) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu järgnev oluline fail: &amp;quot; &amp;amp; SevenZipPath &amp;amp; &amp;quot; Variable: SevenZipPath Errorcode: 2&amp;quot;&lt;br /&gt;
	WScript.quit(2)&lt;br /&gt;
End If&lt;br /&gt;
&#039;Kontrolli kas CURL on olemas&lt;br /&gt;
If Not FileSystemObject.FileExists(CURLPath) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu järgnev oluline fail: &amp;quot; &amp;amp; CURLPath &amp;amp; &amp;quot; Variable: CURLPath Errorcode: 2&amp;quot;&lt;br /&gt;
	WScript.quit(3)&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Loo edastamise kaustastruktuuur ja liiguta andmed&lt;br /&gt;
If Not FileSystemObject.FolderExists(TransferRootFolder) Then&lt;br /&gt;
	Set CreateFolderPath = FileSystemObject.CreateFolder(TransferRootFolder)&lt;br /&gt;
End If&lt;br /&gt;
For Each SourceFolder in RootFolder.SubFolders&lt;br /&gt;
	&#039;Jäta vahele edastuskaust ise&lt;br /&gt;
	If Not SourceFolder = TransferRootFolder Then&lt;br /&gt;
		TransferPath = TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; SourceFolder.Name&lt;br /&gt;
		If Not FileSystemObject.FolderExists(TransferPath) Then&lt;br /&gt;
			Set CreateFolderPath = FileSystemObject.CreateFolder(TransferPath)&lt;br /&gt;
		End If&lt;br /&gt;
		For Each FileItem in SourceFolder.Files&lt;br /&gt;
			If DateDiff(&amp;quot;d&amp;quot;,FileItem.DateLastModified,Now()) &amp;gt; FileAge Then&lt;br /&gt;
				FileSystemObject.MoveFile SourceFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; FileItem.Name , TransferPath &amp;amp; &amp;quot;\&amp;quot; &amp;amp; FileItem.Name&lt;br /&gt;
			End If&lt;br /&gt;
		Next&lt;br /&gt;
	End If&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Paki andmed kokku 7Zip kasutades. See loopib et vea korral uuesti proovida&lt;br /&gt;
&#039;Määra käsurea parameetrid&lt;br /&gt;
SevenZipExec = chr(34) &amp;amp; SevenZipPath &amp;amp; chr(34) &amp;amp; &amp;quot; a -tzip &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; TransferFile &amp;amp; chr(34) &amp;amp; &amp;quot; &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; chr(34)&lt;br /&gt;
&#039;Nulli tsüklikordaja&lt;br /&gt;
i=0&lt;br /&gt;
&#039;Käivita tsükkel 3 korda&lt;br /&gt;
Do While (i&amp;lt;3)&lt;br /&gt;
	&#039;Käivita peidetuna ning oota käivituse lõppu.&lt;br /&gt;
	Run7Zip = Shell.Run(SevenZipExec,0,True)&lt;br /&gt;
	&#039;Kui pakkimine õnnestus, välju tsüklist&lt;br /&gt;
	If (Run7Zip = 0) Then Exit Do&lt;br /&gt;
	&#039;Kui 3 korda proovitud, kirjuta logisse ning välju skriptist veakoodiga 4&lt;br /&gt;
	&#039;Jäta vahele andmete saatmine, kui seda pole niikuinii pakitud&lt;br /&gt;
	If (i = 2) Then&lt;br /&gt;
		LogFile.WriteLine Now() &amp;amp; &amp;quot; Fataaalne viga pakkimisel! Proovitud 3 korda pakkida. Errorcode 4 ReturnCode: &amp;quot; &amp;amp; Run7Zip &amp;amp; &amp;quot; SevenZipExec: &amp;quot; &amp;amp; SevenZipExec&lt;br /&gt;
		WScript.quit(4)&lt;br /&gt;
	End If&lt;br /&gt;
	&#039;Kui oli viga, siis kirjuta ReturnCode ja käivitatud käsurida logisse&lt;br /&gt;
	If Not (Run7Zip = 0) Then LogFile.WriteLine Now() &amp;amp; &amp;quot; Viga pakkimisel! Proovin uuesti. ReturnCode: &amp;quot; &amp;amp; Run7Zip &amp;amp; &amp;quot; SevenZipExec: &amp;quot; &amp;amp; SevenZipExec&lt;br /&gt;
	&#039;Suurenda tsüklikordajat&lt;br /&gt;
	i = i+1&lt;br /&gt;
	&#039;Oota 10 minutit&lt;br /&gt;
	WScript.Sleep 600000&lt;br /&gt;
Loop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Edasta andmed CURL kasutades. See loopib et vea korral uuesti proovida&lt;br /&gt;
&#039;Määra käsurea parameetrid&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;Parameetrid on ncftpput jaoks&lt;br /&gt;
CURLExec = chr(34) &amp;amp; CURLPath &amp;amp; chr(34) &amp;amp; &amp;quot; -u &amp;quot; &amp;amp; FTPServerUser &amp;amp; &amp;quot; -p &amp;quot; &amp;amp; Base64Decode(FTPServerPassword) &amp;amp; &amp;quot; -T . &amp;quot; &amp;amp; FTPServer &amp;amp; &amp;quot; &amp;quot; &amp;amp; FTPServerPath &amp;amp; &amp;quot; &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; TransferFile &amp;amp; chr(34)&lt;br /&gt;
&#039;Nulli tsüklikordaja&lt;br /&gt;
i=0&lt;br /&gt;
&#039;Käivita 10 korda&lt;br /&gt;
Do While (i&amp;lt;10)&lt;br /&gt;
	&#039;Käivita peidetuna ning oota käivituse lõppu.&lt;br /&gt;
	RunCURL = Shell.Run(CURLExec,0,True)&lt;br /&gt;
	&#039;Kui pakkimine õnnestus, välju tsüklist&lt;br /&gt;
	If (RunCURL = 0) Then Exit Do&lt;br /&gt;
	&#039;Kui 10 korda proovitud, kirjuta logisse ning välju skriptist veakoodiga 5&lt;br /&gt;
	If (i = 9) Then&lt;br /&gt;
		LogFile.WriteLine Now() &amp;amp; &amp;quot; Fataaalne viga saatmisel! Proovitud 10 korda saata. Errorcode 5 ReturnCode: &amp;quot; &amp;amp; RunCURL &amp;amp; &amp;quot; CURLExec: &amp;quot; &amp;amp; CURLExec&lt;br /&gt;
		WScript.quit(5)&lt;br /&gt;
	End If&lt;br /&gt;
	&#039;Kui oli viga, siis kirjuta ReturnCode ja käivitatud käsurida logisse&lt;br /&gt;
	If Not (RunCURL = 0) Then LogFile.WriteLine Now() &amp;amp; &amp;quot; Viga saatmisel! Proovin uuesti. ReturnCode: &amp;quot; &amp;amp; RunCURL &amp;amp; &amp;quot; CURLExec: &amp;quot; &amp;amp; CURLExec&lt;br /&gt;
	&#039;Suurenda tsüklikordajat&lt;br /&gt;
	i = i+1&lt;br /&gt;
	&#039;Oota 10 minutit&lt;br /&gt;
	WScript.Sleep 600000&lt;br /&gt;
Loop&lt;br /&gt;
&#039;Kui kõik ikkagi õnnestus kirjuta logisse maha&lt;br /&gt;
LogFile.WriteLine Now() &amp;amp; &amp;quot; Kõik OK!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;Eemalda edastatud andmed&lt;br /&gt;
FileSystemObject.DeleteFolder TransferRootFolder&lt;br /&gt;
&#039;Korista ära ja välju ilma veata&lt;br /&gt;
&#039;Lisa 1.2&lt;br /&gt;
&#039;Loopib läbi kõik kaustad ning võrdleb neid teadaolevate kaustadega - kui kaust pole teadaolev, kustuta.&lt;br /&gt;
&#039;Lisa 1.2a&lt;br /&gt;
&#039;Kustutaja välja lülitatud, kuna mõned kaustad teadmata põhjusel kustutatakse valesti&lt;br /&gt;
&#039;For Each CleanupFolder in RootFolder.SubFolders&lt;br /&gt;
&#039;	IsKnownFolder=False&lt;br /&gt;
&#039;	For Each FolderEntry in FolderArray&lt;br /&gt;
&#039;		If CleanupFolder = &amp;quot;C:\YourView\&amp;quot; &amp;amp; FolderEntry Then&lt;br /&gt;
&#039;			IsKnownFolder=True&lt;br /&gt;
&#039;		End If&lt;br /&gt;
&#039;	Next&lt;br /&gt;
&#039;	If IsKnownFolder = False Then&lt;br /&gt;
&#039;		FileSystemObject.DeleteFolder CleanupFolder&lt;br /&gt;
&#039;	End If&lt;br /&gt;
&#039;Next&lt;br /&gt;
WScript.quit()&lt;br /&gt;
&lt;br /&gt;
&#039;Väline libra Base64 dekodeerimiseks&lt;br /&gt;
Function Base64Decode(ByVal base64String)&lt;br /&gt;
  Const Base64 = &amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&amp;quot;&lt;br /&gt;
  Dim dataLength, sOut, groupBegin&lt;br /&gt;
  base64String = Replace(base64String, vbCrLf, &amp;quot;&amp;quot;)&lt;br /&gt;
  base64String = Replace(base64String, vbTab, &amp;quot;&amp;quot;)&lt;br /&gt;
  base64String = Replace(base64String, &amp;quot; &amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
  dataLength = Len(base64String)&lt;br /&gt;
  If dataLength Mod 4 &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
    Err.Raise 1, &amp;quot;Base64Decode&amp;quot;, &amp;quot;Bad Base64 string.&amp;quot;&lt;br /&gt;
    Exit Function&lt;br /&gt;
  End If&lt;br /&gt;
  For groupBegin = 1 To dataLength Step 4&lt;br /&gt;
    Dim numDataBytes, CharCounter, thisChar, thisData, nGroup, pOut&lt;br /&gt;
    numDataBytes = 3&lt;br /&gt;
    nGroup = 0&lt;br /&gt;
    For CharCounter = 0 To 3&lt;br /&gt;
      thisChar = Mid(base64String, groupBegin + CharCounter, 1)&lt;br /&gt;
      If thisChar = &amp;quot;=&amp;quot; Then&lt;br /&gt;
        numDataBytes = numDataBytes - 1&lt;br /&gt;
        thisData = 0&lt;br /&gt;
      Else&lt;br /&gt;
        thisData = InStr(1, Base64, thisChar, vbBinaryCompare) - 1&lt;br /&gt;
      End If&lt;br /&gt;
      If thisData = -1 Then&lt;br /&gt;
        Err.Raise 2, &amp;quot;Base64Decode&amp;quot;, &amp;quot;Bad character In Base64 string.&amp;quot;&lt;br /&gt;
        Exit Function&lt;br /&gt;
      End If&lt;br /&gt;
      nGroup = 64 * nGroup + thisData&lt;br /&gt;
    Next&lt;br /&gt;
    nGroup = Hex(nGroup)&lt;br /&gt;
    nGroup = String(6 - Len(nGroup), &amp;quot;0&amp;quot;) &amp;amp; nGroup&lt;br /&gt;
    pOut = Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 1, 2))) + _&lt;br /&gt;
      Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 3, 2))) + _&lt;br /&gt;
      Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 5, 2)))&lt;br /&gt;
    sOut = sOut &amp;amp; Left(pOut, numDataBytes)&lt;br /&gt;
  Next&lt;br /&gt;
  Base64Decode = sOut&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category: Skriptimiskeeled]]&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Skript,_mis_pakib_failid_ja_laeb_ftp_abil_%C3%BCles&amp;diff=61191</id>
		<title>Skript, mis pakib failid ja laeb ftp abil üles</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Skript,_mis_pakib_failid_ja_laeb_ftp_abil_%C3%BCles&amp;diff=61191"/>
		<updated>2013-02-01T20:23:49Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Skript=&lt;br /&gt;
Mihkel Soomere (C)&lt;br /&gt;
&lt;br /&gt;
Allpool on ka VBScript variant, millest PowerShell variant porditi. See skript on VBS variandis ühe spetsiiflise süsteemi logide edastamiseks mõeldud ja live&#039;s kasutuses, sellest tulenevalt ei ole see päris universaalne lahendus. Nt logide transpordiks ette valmistamisel on tähtis säilitada emakausta nimi.&lt;br /&gt;
==PowerShell==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;#&lt;br /&gt;
.Synopsis&lt;br /&gt;
YourView andmete pushija&lt;br /&gt;
Edastab YourView logifailid koos struktuuriga FTP&#039;sse kokku Zipituna&lt;br /&gt;
Porditud VBS versioonist&lt;br /&gt;
Alustatud detsember 2012&lt;br /&gt;
Autor Mihkel Soomere&lt;br /&gt;
.DESCRIPTION&lt;br /&gt;
Skript vajab Zippimiseks: http://pscx.codeplex.com ja  FTP laadimiseks http://gallery.technet.microsoft.com/scriptcenter/PowerShell-FTP-Client-db6fe0cb&lt;br /&gt;
Testitud PS3 ja W8 peal&lt;br /&gt;
ToDo&lt;br /&gt;
Kui FTP ebaõnnestus, siis pane fail Queuesse. Järgmisel käivitusel laadi queue failid üles.&lt;br /&gt;
.EXAMPLE&lt;br /&gt;
YourViewPush.ps1 TallinnHarku&lt;br /&gt;
Kasutab jaama nimena TallinnHarku.&lt;br /&gt;
.INPUTS&lt;br /&gt;
Ainus atribuut on jaama nimi, mis peab koosnema A-Z, a-z, 0-9 märkidest&lt;br /&gt;
#&amp;gt;&lt;br /&gt;
 Param (&lt;br /&gt;
    [parameter(Mandatory=$true,HelpMessage=&amp;quot;Jaama nimes tohib olla sümboleid a-z ja numbreid 0-9&amp;quot;)]&lt;br /&gt;
    [ValidatePattern(&amp;quot;^[0-9a-zA-Z]+$&amp;quot;)]&lt;br /&gt;
    [String] $JaamaNimi&lt;br /&gt;
) &lt;br /&gt;
#Lülida debugimine sisse&lt;br /&gt;
#$DebugPreference = &amp;quot;Continue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;args.Count &amp;quot; + $args.Count)&lt;br /&gt;
Write-Debug (&amp;quot;args &amp;quot; + $args)&lt;br /&gt;
&lt;br /&gt;
#Logimise käivitamine&lt;br /&gt;
$LogFile = $env:TEMP + &amp;quot;\YWPushLog.txt&amp;quot;&lt;br /&gt;
Function LogWrite {&lt;br /&gt;
   Param ([string]$logstring)&lt;br /&gt;
   Write-Host $logstring&lt;br /&gt;
   Add-content $Logfile -value ((Get-Date -format &amp;quot;dd.MM.yyyy HH:mm&amp;quot;).ToString() + &amp;quot; &amp;quot; + $logstring)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;LogFile &amp;quot; + $LogFile)&lt;br /&gt;
&lt;br /&gt;
#Parameetrite arvu kontroll&lt;br /&gt;
#If ($args.Count -ne 1) {&lt;br /&gt;
#    LogWrite (&amp;quot;Viga 6! Puudu käsurea argument määramaks jaama nimi või liiga palju parameetreid&amp;quot;)&lt;br /&gt;
#    Exit 6&lt;br /&gt;
#}&lt;br /&gt;
&lt;br /&gt;
#Parameetri valideerimine&lt;br /&gt;
#foreach ($char in $args[0].ToString().GetEnumerator()) {&lt;br /&gt;
#    if (![System.Char]::IsLetterOrDigit($char)) {&lt;br /&gt;
#        LogWrite (&amp;quot;Viga 7! Jaama nimi ei ole a-z,A-Z,0-9&amp;quot;)&lt;br /&gt;
#        Exit 7&lt;br /&gt;
#    }&lt;br /&gt;
#}&lt;br /&gt;
&lt;br /&gt;
#Muutujate väärtustamine&lt;br /&gt;
#Muutumatu, kuna igal pool sama&lt;br /&gt;
$YourViewJuurkaust = &amp;quot;C:\YourView&amp;quot;&lt;br /&gt;
#Argumendist&lt;br /&gt;
$Jaamanimi = $args[0].ToString()&lt;br /&gt;
#Kujul YYYYMMDD&lt;br /&gt;
$KuuPaev = (Get-Date -Format &amp;quot;yyyyMMdd&amp;quot;).ToString()&lt;br /&gt;
#Alati jäetakse natuke logisid maha&lt;br /&gt;
$MaxFailivanus = 3&lt;br /&gt;
$YlekandeKaust = ($Jaamanimi + &amp;quot;-&amp;quot; + $KuuPaev)&lt;br /&gt;
$AjutineJuurkaust = ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust)&lt;br /&gt;
$YlekantavFailiNimi = ($YlekandeKaust + &amp;quot;.zip&amp;quot;)&lt;br /&gt;
#Implementeerimata&lt;br /&gt;
$TeadaolevadKaustad = &amp;quot;CT&amp;quot;,&amp;quot;FD&amp;quot;,&amp;quot;PTU&amp;quot;,&amp;quot;SR&amp;quot;,&amp;quot;TG&amp;quot;,&amp;quot;WA&amp;quot;,&amp;quot;WIND&amp;quot;,&amp;quot;CT25K&amp;quot;,&amp;quot;FD12P&amp;quot;,&amp;quot;PTU_INST&amp;quot;,&amp;quot;SR_INST&amp;quot;,&amp;quot;TG_INST&amp;quot;&lt;br /&gt;
$FTPServer = &amp;quot;&amp;quot;&lt;br /&gt;
$FTPServerTee = &amp;quot;&amp;quot;&lt;br /&gt;
$FTPServerKasutaja =&amp;quot;&amp;quot;&lt;br /&gt;
#Enamvähem turvaline paroolisalvestusviis, et skript ei küsiks FTPga üles laadides parooli&lt;br /&gt;
#Parooli salvestamiseks read-host -assecurestring | convertfrom-securestring | out-file C:\yourview\securestring.txt&lt;br /&gt;
$FTPServerParool = cat C:\yourview\securestring.txt | convertto-securestring&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;YourViewJuurKaust &amp;quot; + $YourViewJuurKaust)&lt;br /&gt;
Write-Debug (&amp;quot;JaamaNimi &amp;quot; + $Jaamanimi)&lt;br /&gt;
Write-Debug (&amp;quot;KuuPaev &amp;quot; + $KuuPaev)&lt;br /&gt;
Write-Debug (&amp;quot;MaxFailiVanus &amp;quot; + $MaxFailivanus)&lt;br /&gt;
Write-Debug (&amp;quot;YlekandeKaust &amp;quot; + $YlekandeKaust)&lt;br /&gt;
Write-Debug (&amp;quot;AjutineJuurkaust &amp;quot; + $AjutineJuurkaust)&lt;br /&gt;
Write-Debug (&amp;quot;YlekantavFailiNimi &amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
Write-Debug (&amp;quot;TeadaolevadKaustad &amp;quot; + $TeadaolevadKaustad)&lt;br /&gt;
&lt;br /&gt;
#Liigutab failid koos emakaustaga&lt;br /&gt;
Get-ChildItem $YourViewJuurkaust -Directory | ForEach-Object {&lt;br /&gt;
    Write-Debug (&amp;quot;YourViewChild &amp;quot; + $_.FullName)&lt;br /&gt;
    Get-ChildItem $_.FullName -Recurse | Where-Object {-not $_.PsIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-$MaxFailivanus) -and $_.Extension -eq &amp;quot;.csv&amp;quot;} | ForEach-Object {&lt;br /&gt;
        $Destination = ($AjutineJuurkaust + &amp;quot;\&amp;quot; + $_.Directory.Name + &amp;quot;\&amp;quot; + $_.Name)&lt;br /&gt;
        #Debug&lt;br /&gt;
        Write-Debug (&amp;quot;Source &amp;quot; + $_.FullName)&lt;br /&gt;
        Write-Debug (&amp;quot;Destination &amp;quot; + $Destination)&lt;br /&gt;
        #Workaround, kuna Move-Item ei loo faili liigutamisel pathi ette&lt;br /&gt;
        New-Item -ItemType Directory -Path ($AjutineJuurkaust + &amp;quot;\&amp;quot; + $_.Directory.Name) -Force&lt;br /&gt;
        Move-Item $_.FullName -Destination $Destination -Force&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Pakib failid kokku&lt;br /&gt;
Try{&lt;br /&gt;
    Write-Zip -Level 9 -IncludeEmptyDirectories -Path ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust) -OutputPath ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
}&lt;br /&gt;
Catch [system.exception] {&lt;br /&gt;
    LogWrite (&amp;quot;Viga 4! Pakkimine ebaõnnestus&amp;quot;)&lt;br /&gt;
    Exit 4&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Edastab ZIPi FTP&#039;ga&lt;br /&gt;
Try {&lt;br /&gt;
    #Creadential objekti on vaja, ses muidu ei saa kuidagi parooli ette anda&lt;br /&gt;
    $Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $FTPServerKasutaja,$FTPServerParool&lt;br /&gt;
    Set-FTPConnection -Credentials $Credential -Server $FTPServer -UseBinary -UsePassive&lt;br /&gt;
    Add-FTPItem -Path $FTPServerTee -LocalPath ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi) -Overwrite&lt;br /&gt;
}&lt;br /&gt;
Catch [system.exception] {&lt;br /&gt;
    LogWrite (&amp;quot;Viga 5! FTP Edastamine ebaõnnestus&amp;quot;)&lt;br /&gt;
    Exit 5&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Kustuta ZIP&lt;br /&gt;
Remove-Item ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
#Kustuta ajutine kaust&lt;br /&gt;
Remove-Item ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust) -Recurse&lt;br /&gt;
&lt;br /&gt;
#Exit&lt;br /&gt;
LogWrite (&amp;quot;Kõik OK!&amp;quot;)&lt;br /&gt;
Write-Debug &amp;quot;0&amp;quot;&lt;br /&gt;
Exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==VBScript==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
&#039;YourView andmete pushija.&lt;br /&gt;
&#039;Alustas Mihkel Soomere augustis 2011.&lt;br /&gt;
&#039;Skripti mõte on transportida minutiandmed automaatselt peamajja objektidel, kus pole püsiühendust ega VPNi.&lt;br /&gt;
&#039;Sõltuvused on 7-zip ja ncftpput.&lt;br /&gt;
&#039;Skript eeldab, et ta leiab asjad määratud kaustadest.&lt;br /&gt;
&#039;st 7-zip peab olema arhitektuuripõhine, ncftpput võib olla ka 32b, sest see läheb system32&#039;te&lt;br /&gt;
&#039;Testitud Windows 7 peal, kuid peaks töötama kõige peal alates Windows 2000.&lt;br /&gt;
&lt;br /&gt;
&#039;Kasutamine&lt;br /&gt;
&#039;Kopeeri skript ja ncftpput windows\system32 kausta&lt;br /&gt;
&#039;Kontorlli, et 7-zip oleks sama, mis operatsioonissüsteemi arhitektuur (alati %programfiles% variable)&lt;br /&gt;
&#039;Lisa Task Scheduleri&lt;br /&gt;
&#039;Kasutajaks SYSTEM&lt;br /&gt;
&#039;Käivita parameetriga jaama nimi.&lt;br /&gt;
&#039;Käivita igal pühapäeval kell 00 (üldjuhul UTC)&lt;br /&gt;
&#039;Jaama nimi peaks olema ASCII märkidega ja kõik kokku, nt narvajoesuu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Workflow:&lt;br /&gt;
&#039;Loo ajutine kaust mis koosneb arvuti nimest ja kuupäevast&lt;br /&gt;
&#039;Liiguta määratud ajast vanem sisu YW põhikaustadest ajutisse kausta&lt;br /&gt;
&#039;Paki ajutine kaust kokku&lt;br /&gt;
&#039;Saada pakitud info ära&lt;br /&gt;
&#039;Kustuta ajutised asjad&lt;br /&gt;
&#039;Kui midagi vahepeal feilib, skript väljub&lt;br /&gt;
&#039;Järgmise käivituse ajal korjab see kokku ka eelmisest käivitusest üle jäänud sodi, pakib selle uuesti kokku ning üritab uuesti ära saata&lt;br /&gt;
&lt;br /&gt;
&#039;Muudatused&lt;br /&gt;
&#039;1.1&lt;br /&gt;
&#039;CURL vahetatud ncfptput vastu, muutujad jäävad samaks.&lt;br /&gt;
&#039;Failid luuakse argumendist võetava failinimega, lisatud kiire väljumine koodiga 6 argumendi puudumisel&lt;br /&gt;
&#039;Logifunktsioon varasemaks toodud, et kontrollida argumendi puudumist&lt;br /&gt;
&#039;1.2&lt;br /&gt;
&#039;Muudetud saadetavate failide nimekuju kujule YYYYMMDD&lt;br /&gt;
&#039;Lisatud koristaja&lt;br /&gt;
&#039;1.2a&lt;br /&gt;
&#039;Välja lülitatud vigane kustutaja&lt;br /&gt;
&lt;br /&gt;
&#039;Karm režiim, nõua muutujate defineerimist, aitab debugimisel&lt;br /&gt;
Option Explicit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Muutujate loomine&lt;br /&gt;
Dim LogFile, Shell, FileSystemObject, RootFolder, SourceFolder, SourceFolderSubfolder, TransferRootFolder, TransferFile, CreateFolderPath, TransferPath, FileAge, FTPServer, FTPServerUser, FTPServerPassword, SevenZipPath, CURLPath, ComputerName, WshNetwork, FileItem, FTPServerPath, SevenZipExec, i, Run7Zip, LogFileAccess, CURLExec, RunCURL, CleanupFolder, FolderArray, FolderEntry, IsKnownFolder&lt;br /&gt;
&lt;br /&gt;
&#039;Objektide loomine&lt;br /&gt;
Set Shell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
Set FileSystemObject = CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;br /&gt;
Set WshNetwork = WScript.CreateObject(&amp;quot;WScript.Network&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&#039;Initsialiseeri logi&lt;br /&gt;
&#039;Logifail&lt;br /&gt;
LogFile = Shell.ExpandEnvironmentStrings(&amp;quot;%TEMP%&amp;quot;) &amp;amp; &amp;quot;\YWPushLog.txt&amp;quot;&lt;br /&gt;
&#039;Logi funktsioon&lt;br /&gt;
Set LogFile = FileSystemObject.OpenTextFile(LogFile,8,True)&lt;br /&gt;
&lt;br /&gt;
&#039;Atribuudi olemasolu kontroll&lt;br /&gt;
If WScript.Arguments.Count &amp;lt; 1 Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu käsurea argument määramaks jaama nimi. Errorcode: 6&amp;quot;&lt;br /&gt;
	WScript.quit(6)&lt;br /&gt;
end If&lt;br /&gt;
&lt;br /&gt;
&#039;Muutujate määramine&lt;br /&gt;
&#039;See on hardcodetud, kuna YourView path on igalpool sama.&lt;br /&gt;
Set RootFolder = FileSystemObject.GetFolder(&amp;quot;C:\YourView&amp;quot;)&lt;br /&gt;
&#039;Määrab saatmise kausta tee ja faili&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;Algses skrptis kasutati faili jaoks arvuti nime, selletõttu on muutuja ikka ComputerName, kuigi tema sisu on muutunud.&lt;br /&gt;
ComputerName = WScript.Arguments.Item(0)&lt;br /&gt;
TransferRootFolder = RootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; ComputerName &amp;amp; &amp;quot;-&amp;quot; &amp;amp; Date()&lt;br /&gt;
TransferFile = ComputerName &amp;amp; &amp;quot;-&amp;quot; &amp;amp; Year(Date) &amp;amp; Right(&amp;quot;0&amp;quot; &amp;amp; Month(Date),2) &amp;amp; Right(&amp;quot;0&amp;quot; &amp;amp; Day(Date),2) &amp;amp; &amp;quot;.zip&amp;quot;&lt;br /&gt;
&#039;1.2 lisand - eeldatavate kaustade massiiv&lt;br /&gt;
FolderArray = Array(&amp;quot;CT&amp;quot;,&amp;quot;FD&amp;quot;,&amp;quot;PTU&amp;quot;,&amp;quot;SR&amp;quot;,&amp;quot;TG&amp;quot;,&amp;quot;WA&amp;quot;,&amp;quot;WIND&amp;quot;,&amp;quot;CT25K&amp;quot;,&amp;quot;FD12P&amp;quot;,&amp;quot;PTU_INST&amp;quot;,&amp;quot;SR_INST&amp;quot;,&amp;quot;TG_INST&amp;quot;)&lt;br /&gt;
&#039;Rohkem kui järgnev arv päevi vanad failid võetakse töötlusse&lt;br /&gt;
FileAge = 3&lt;br /&gt;
&#039;FTP ligipääsu andmed&lt;br /&gt;
FTPServer = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerPath = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerUser = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerPassword = &amp;quot;&amp;quot;&lt;br /&gt;
&#039;Väliste rakenduste pathid&lt;br /&gt;
SevenZipPath = Shell.ExpandEnvironmentStrings(&amp;quot;%ProgramFiles%&amp;quot;) &amp;amp; &amp;quot;\7-Zip\7z.exe&amp;quot;&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;CURL viitab tegelikult ncftpput&#039;ile&lt;br /&gt;
CURLPath = FileSystemObject.GetSpecialFolder(1) &amp;amp; &amp;quot;\ncftpput.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Kontrolli kas YourView kaust on olemas&lt;br /&gt;
If Not FileSystemObject.FolderExists(RootFolder) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitline viga! Puudu järgnev oluline kaust: &amp;quot; &amp;amp; RootFolder &amp;amp; &amp;quot; Variable: RootFolder Errorcode: 1&amp;quot;&lt;br /&gt;
	WScript.quit(1)&lt;br /&gt;
End If&lt;br /&gt;
&#039;Kontrolli kas 7-Zip on olemas&lt;br /&gt;
If Not FileSystemObject.FileExists(SevenZipPath) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu järgnev oluline fail: &amp;quot; &amp;amp; SevenZipPath &amp;amp; &amp;quot; Variable: SevenZipPath Errorcode: 2&amp;quot;&lt;br /&gt;
	WScript.quit(2)&lt;br /&gt;
End If&lt;br /&gt;
&#039;Kontrolli kas CURL on olemas&lt;br /&gt;
If Not FileSystemObject.FileExists(CURLPath) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu järgnev oluline fail: &amp;quot; &amp;amp; CURLPath &amp;amp; &amp;quot; Variable: CURLPath Errorcode: 2&amp;quot;&lt;br /&gt;
	WScript.quit(3)&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Loo edastamise kaustastruktuuur ja liiguta andmed&lt;br /&gt;
If Not FileSystemObject.FolderExists(TransferRootFolder) Then&lt;br /&gt;
	Set CreateFolderPath = FileSystemObject.CreateFolder(TransferRootFolder)&lt;br /&gt;
End If&lt;br /&gt;
For Each SourceFolder in RootFolder.SubFolders&lt;br /&gt;
	&#039;Jäta vahele edastuskaust ise&lt;br /&gt;
	If Not SourceFolder = TransferRootFolder Then&lt;br /&gt;
		TransferPath = TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; SourceFolder.Name&lt;br /&gt;
		If Not FileSystemObject.FolderExists(TransferPath) Then&lt;br /&gt;
			Set CreateFolderPath = FileSystemObject.CreateFolder(TransferPath)&lt;br /&gt;
		End If&lt;br /&gt;
		For Each FileItem in SourceFolder.Files&lt;br /&gt;
			If DateDiff(&amp;quot;d&amp;quot;,FileItem.DateLastModified,Now()) &amp;gt; FileAge Then&lt;br /&gt;
				FileSystemObject.MoveFile SourceFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; FileItem.Name , TransferPath &amp;amp; &amp;quot;\&amp;quot; &amp;amp; FileItem.Name&lt;br /&gt;
			End If&lt;br /&gt;
		Next&lt;br /&gt;
	End If&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Paki andmed kokku 7Zip kasutades. See loopib et vea korral uuesti proovida&lt;br /&gt;
&#039;Määra käsurea parameetrid&lt;br /&gt;
SevenZipExec = chr(34) &amp;amp; SevenZipPath &amp;amp; chr(34) &amp;amp; &amp;quot; a -tzip &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; TransferFile &amp;amp; chr(34) &amp;amp; &amp;quot; &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; chr(34)&lt;br /&gt;
&#039;Nulli tsüklikordaja&lt;br /&gt;
i=0&lt;br /&gt;
&#039;Käivita tsükkel 3 korda&lt;br /&gt;
Do While (i&amp;lt;3)&lt;br /&gt;
	&#039;Käivita peidetuna ning oota käivituse lõppu.&lt;br /&gt;
	Run7Zip = Shell.Run(SevenZipExec,0,True)&lt;br /&gt;
	&#039;Kui pakkimine õnnestus, välju tsüklist&lt;br /&gt;
	If (Run7Zip = 0) Then Exit Do&lt;br /&gt;
	&#039;Kui 3 korda proovitud, kirjuta logisse ning välju skriptist veakoodiga 4&lt;br /&gt;
	&#039;Jäta vahele andmete saatmine, kui seda pole niikuinii pakitud&lt;br /&gt;
	If (i = 2) Then&lt;br /&gt;
		LogFile.WriteLine Now() &amp;amp; &amp;quot; Fataaalne viga pakkimisel! Proovitud 3 korda pakkida. Errorcode 4 ReturnCode: &amp;quot; &amp;amp; Run7Zip &amp;amp; &amp;quot; SevenZipExec: &amp;quot; &amp;amp; SevenZipExec&lt;br /&gt;
		WScript.quit(4)&lt;br /&gt;
	End If&lt;br /&gt;
	&#039;Kui oli viga, siis kirjuta ReturnCode ja käivitatud käsurida logisse&lt;br /&gt;
	If Not (Run7Zip = 0) Then LogFile.WriteLine Now() &amp;amp; &amp;quot; Viga pakkimisel! Proovin uuesti. ReturnCode: &amp;quot; &amp;amp; Run7Zip &amp;amp; &amp;quot; SevenZipExec: &amp;quot; &amp;amp; SevenZipExec&lt;br /&gt;
	&#039;Suurenda tsüklikordajat&lt;br /&gt;
	i = i+1&lt;br /&gt;
	&#039;Oota 10 minutit&lt;br /&gt;
	WScript.Sleep 600000&lt;br /&gt;
Loop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Edasta andmed CURL kasutades. See loopib et vea korral uuesti proovida&lt;br /&gt;
&#039;Määra käsurea parameetrid&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;Parameetrid on ncftpput jaoks&lt;br /&gt;
CURLExec = chr(34) &amp;amp; CURLPath &amp;amp; chr(34) &amp;amp; &amp;quot; -u &amp;quot; &amp;amp; FTPServerUser &amp;amp; &amp;quot; -p &amp;quot; &amp;amp; Base64Decode(FTPServerPassword) &amp;amp; &amp;quot; -T . &amp;quot; &amp;amp; FTPServer &amp;amp; &amp;quot; &amp;quot; &amp;amp; FTPServerPath &amp;amp; &amp;quot; &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; TransferFile &amp;amp; chr(34)&lt;br /&gt;
&#039;Nulli tsüklikordaja&lt;br /&gt;
i=0&lt;br /&gt;
&#039;Käivita 10 korda&lt;br /&gt;
Do While (i&amp;lt;10)&lt;br /&gt;
	&#039;Käivita peidetuna ning oota käivituse lõppu.&lt;br /&gt;
	RunCURL = Shell.Run(CURLExec,0,True)&lt;br /&gt;
	&#039;Kui pakkimine õnnestus, välju tsüklist&lt;br /&gt;
	If (RunCURL = 0) Then Exit Do&lt;br /&gt;
	&#039;Kui 10 korda proovitud, kirjuta logisse ning välju skriptist veakoodiga 5&lt;br /&gt;
	If (i = 9) Then&lt;br /&gt;
		LogFile.WriteLine Now() &amp;amp; &amp;quot; Fataaalne viga saatmisel! Proovitud 10 korda saata. Errorcode 5 ReturnCode: &amp;quot; &amp;amp; RunCURL &amp;amp; &amp;quot; CURLExec: &amp;quot; &amp;amp; CURLExec&lt;br /&gt;
		WScript.quit(5)&lt;br /&gt;
	End If&lt;br /&gt;
	&#039;Kui oli viga, siis kirjuta ReturnCode ja käivitatud käsurida logisse&lt;br /&gt;
	If Not (RunCURL = 0) Then LogFile.WriteLine Now() &amp;amp; &amp;quot; Viga saatmisel! Proovin uuesti. ReturnCode: &amp;quot; &amp;amp; RunCURL &amp;amp; &amp;quot; CURLExec: &amp;quot; &amp;amp; CURLExec&lt;br /&gt;
	&#039;Suurenda tsüklikordajat&lt;br /&gt;
	i = i+1&lt;br /&gt;
	&#039;Oota 10 minutit&lt;br /&gt;
	WScript.Sleep 600000&lt;br /&gt;
Loop&lt;br /&gt;
&#039;Kui kõik ikkagi õnnestus kirjuta logisse maha&lt;br /&gt;
LogFile.WriteLine Now() &amp;amp; &amp;quot; Kõik OK!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;Eemalda edastatud andmed&lt;br /&gt;
FileSystemObject.DeleteFolder TransferRootFolder&lt;br /&gt;
&#039;Korista ära ja välju ilma veata&lt;br /&gt;
&#039;Lisa 1.2&lt;br /&gt;
&#039;Loopib läbi kõik kaustad ning võrdleb neid teadaolevate kaustadega - kui kaust pole teadaolev, kustuta.&lt;br /&gt;
&#039;Lisa 1.2a&lt;br /&gt;
&#039;Kustutaja välja lülitatud, kuna mõned kaustad teadmata põhjusel kustutatakse valesti&lt;br /&gt;
&#039;For Each CleanupFolder in RootFolder.SubFolders&lt;br /&gt;
&#039;	IsKnownFolder=False&lt;br /&gt;
&#039;	For Each FolderEntry in FolderArray&lt;br /&gt;
&#039;		If CleanupFolder = &amp;quot;C:\YourView\&amp;quot; &amp;amp; FolderEntry Then&lt;br /&gt;
&#039;			IsKnownFolder=True&lt;br /&gt;
&#039;		End If&lt;br /&gt;
&#039;	Next&lt;br /&gt;
&#039;	If IsKnownFolder = False Then&lt;br /&gt;
&#039;		FileSystemObject.DeleteFolder CleanupFolder&lt;br /&gt;
&#039;	End If&lt;br /&gt;
&#039;Next&lt;br /&gt;
WScript.quit()&lt;br /&gt;
&lt;br /&gt;
&#039;Väline libra Base64 dekodeerimiseks&lt;br /&gt;
Function Base64Decode(ByVal base64String)&lt;br /&gt;
  Const Base64 = &amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&amp;quot;&lt;br /&gt;
  Dim dataLength, sOut, groupBegin&lt;br /&gt;
  base64String = Replace(base64String, vbCrLf, &amp;quot;&amp;quot;)&lt;br /&gt;
  base64String = Replace(base64String, vbTab, &amp;quot;&amp;quot;)&lt;br /&gt;
  base64String = Replace(base64String, &amp;quot; &amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
  dataLength = Len(base64String)&lt;br /&gt;
  If dataLength Mod 4 &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
    Err.Raise 1, &amp;quot;Base64Decode&amp;quot;, &amp;quot;Bad Base64 string.&amp;quot;&lt;br /&gt;
    Exit Function&lt;br /&gt;
  End If&lt;br /&gt;
  For groupBegin = 1 To dataLength Step 4&lt;br /&gt;
    Dim numDataBytes, CharCounter, thisChar, thisData, nGroup, pOut&lt;br /&gt;
    numDataBytes = 3&lt;br /&gt;
    nGroup = 0&lt;br /&gt;
    For CharCounter = 0 To 3&lt;br /&gt;
      thisChar = Mid(base64String, groupBegin + CharCounter, 1)&lt;br /&gt;
      If thisChar = &amp;quot;=&amp;quot; Then&lt;br /&gt;
        numDataBytes = numDataBytes - 1&lt;br /&gt;
        thisData = 0&lt;br /&gt;
      Else&lt;br /&gt;
        thisData = InStr(1, Base64, thisChar, vbBinaryCompare) - 1&lt;br /&gt;
      End If&lt;br /&gt;
      If thisData = -1 Then&lt;br /&gt;
        Err.Raise 2, &amp;quot;Base64Decode&amp;quot;, &amp;quot;Bad character In Base64 string.&amp;quot;&lt;br /&gt;
        Exit Function&lt;br /&gt;
      End If&lt;br /&gt;
      nGroup = 64 * nGroup + thisData&lt;br /&gt;
    Next&lt;br /&gt;
    nGroup = Hex(nGroup)&lt;br /&gt;
    nGroup = String(6 - Len(nGroup), &amp;quot;0&amp;quot;) &amp;amp; nGroup&lt;br /&gt;
    pOut = Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 1, 2))) + _&lt;br /&gt;
      Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 3, 2))) + _&lt;br /&gt;
      Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 5, 2)))&lt;br /&gt;
    sOut = sOut &amp;amp; Left(pOut, numDataBytes)&lt;br /&gt;
  Next&lt;br /&gt;
  Base64Decode = sOut&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category: Skriptimiskeeled]]&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Skript,_mis_pakib_failid_ja_laeb_ftp_abil_%C3%BCles&amp;diff=61190</id>
		<title>Skript, mis pakib failid ja laeb ftp abil üles</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Skript,_mis_pakib_failid_ja_laeb_ftp_abil_%C3%BCles&amp;diff=61190"/>
		<updated>2013-02-01T20:18:10Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: Created page with &amp;#039;=Skript= Mihkel Soomere (C) Allpool on ka VBScript variant, millest PowerShell variant porditi. ==PowerShell== &amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;  &amp;lt;# .Synopsis YourView andmete pushija E…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Skript=&lt;br /&gt;
Mihkel Soomere (C)&lt;br /&gt;
Allpool on ka VBScript variant, millest PowerShell variant porditi.&lt;br /&gt;
==PowerShell==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;#&lt;br /&gt;
.Synopsis&lt;br /&gt;
YourView andmete pushija&lt;br /&gt;
Edastab YourView logifailid koos struktuuriga FTP&#039;sse kokku Zipituna&lt;br /&gt;
Porditud VBS versioonist&lt;br /&gt;
Alustatud detsember 2012&lt;br /&gt;
Autor Mihkel Soomere&lt;br /&gt;
.DESCRIPTION&lt;br /&gt;
Skript vajab Zippimiseks: http://pscx.codeplex.com ja  FTP laadimiseks http://gallery.technet.microsoft.com/scriptcenter/PowerShell-FTP-Client-db6fe0cb&lt;br /&gt;
Testitud PS3 ja W8 peal&lt;br /&gt;
ToDo&lt;br /&gt;
Kui FTP ebaõnnestus, siis pane fail Queuesse. Järgmisel käivitusel laadi queue failid üles.&lt;br /&gt;
.EXAMPLE&lt;br /&gt;
YourViewPush.ps1 TallinnHarku&lt;br /&gt;
Kasutab jaama nimena TallinnHarku.&lt;br /&gt;
.INPUTS&lt;br /&gt;
Ainus atribuut on jaama nimi, mis peab koosnema A-Z, a-z, 0-9 märkidest&lt;br /&gt;
#&amp;gt;&lt;br /&gt;
 Param (&lt;br /&gt;
    [parameter(Mandatory=$true,HelpMessage=&amp;quot;Jaama nimes tohib olla sümboleid a-z ja numbreid 0-9&amp;quot;)]&lt;br /&gt;
    [ValidatePattern(&amp;quot;^[0-9a-zA-Z]+$&amp;quot;)]&lt;br /&gt;
    [String] $JaamaNimi&lt;br /&gt;
) &lt;br /&gt;
#Lülida debugimine sisse&lt;br /&gt;
#$DebugPreference = &amp;quot;Continue&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;args.Count &amp;quot; + $args.Count)&lt;br /&gt;
Write-Debug (&amp;quot;args &amp;quot; + $args)&lt;br /&gt;
&lt;br /&gt;
#Logimise käivitamine&lt;br /&gt;
$LogFile = $env:TEMP + &amp;quot;\YWPushLog.txt&amp;quot;&lt;br /&gt;
Function LogWrite {&lt;br /&gt;
   Param ([string]$logstring)&lt;br /&gt;
   Write-Host $logstring&lt;br /&gt;
   Add-content $Logfile -value ((Get-Date -format &amp;quot;dd.MM.yyyy HH:mm&amp;quot;).ToString() + &amp;quot; &amp;quot; + $logstring)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;LogFile &amp;quot; + $LogFile)&lt;br /&gt;
&lt;br /&gt;
#Parameetrite arvu kontroll&lt;br /&gt;
#If ($args.Count -ne 1) {&lt;br /&gt;
#    LogWrite (&amp;quot;Viga 6! Puudu käsurea argument määramaks jaama nimi või liiga palju parameetreid&amp;quot;)&lt;br /&gt;
#    Exit 6&lt;br /&gt;
#}&lt;br /&gt;
&lt;br /&gt;
#Parameetri valideerimine&lt;br /&gt;
#foreach ($char in $args[0].ToString().GetEnumerator()) {&lt;br /&gt;
#    if (![System.Char]::IsLetterOrDigit($char)) {&lt;br /&gt;
#        LogWrite (&amp;quot;Viga 7! Jaama nimi ei ole a-z,A-Z,0-9&amp;quot;)&lt;br /&gt;
#        Exit 7&lt;br /&gt;
#    }&lt;br /&gt;
#}&lt;br /&gt;
&lt;br /&gt;
#Muutujate väärtustamine&lt;br /&gt;
#Muutumatu, kuna igal pool sama&lt;br /&gt;
$YourViewJuurkaust = &amp;quot;C:\YourView&amp;quot;&lt;br /&gt;
#Argumendist&lt;br /&gt;
$Jaamanimi = $args[0].ToString()&lt;br /&gt;
#Kujul YYYYMMDD&lt;br /&gt;
$KuuPaev = (Get-Date -Format &amp;quot;yyyyMMdd&amp;quot;).ToString()&lt;br /&gt;
#Alati jäetakse natuke logisid maha&lt;br /&gt;
$MaxFailivanus = 3&lt;br /&gt;
$YlekandeKaust = ($Jaamanimi + &amp;quot;-&amp;quot; + $KuuPaev)&lt;br /&gt;
$AjutineJuurkaust = ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust)&lt;br /&gt;
$YlekantavFailiNimi = ($YlekandeKaust + &amp;quot;.zip&amp;quot;)&lt;br /&gt;
#Implementeerimata&lt;br /&gt;
$TeadaolevadKaustad = &amp;quot;CT&amp;quot;,&amp;quot;FD&amp;quot;,&amp;quot;PTU&amp;quot;,&amp;quot;SR&amp;quot;,&amp;quot;TG&amp;quot;,&amp;quot;WA&amp;quot;,&amp;quot;WIND&amp;quot;,&amp;quot;CT25K&amp;quot;,&amp;quot;FD12P&amp;quot;,&amp;quot;PTU_INST&amp;quot;,&amp;quot;SR_INST&amp;quot;,&amp;quot;TG_INST&amp;quot;&lt;br /&gt;
$FTPServer = &amp;quot;&amp;quot;&lt;br /&gt;
$FTPServerTee = &amp;quot;&amp;quot;&lt;br /&gt;
$FTPServerKasutaja =&amp;quot;&amp;quot;&lt;br /&gt;
#Enamvähem turvaline paroolisalvestusviis, et skript ei küsiks FTPga üles laadides parooli&lt;br /&gt;
#Parooli salvestamiseks read-host -assecurestring | convertfrom-securestring | out-file C:\yourview\securestring.txt&lt;br /&gt;
$FTPServerParool = cat C:\yourview\securestring.txt | convertto-securestring&lt;br /&gt;
&lt;br /&gt;
#Debug&lt;br /&gt;
Write-Debug (&amp;quot;YourViewJuurKaust &amp;quot; + $YourViewJuurKaust)&lt;br /&gt;
Write-Debug (&amp;quot;JaamaNimi &amp;quot; + $Jaamanimi)&lt;br /&gt;
Write-Debug (&amp;quot;KuuPaev &amp;quot; + $KuuPaev)&lt;br /&gt;
Write-Debug (&amp;quot;MaxFailiVanus &amp;quot; + $MaxFailivanus)&lt;br /&gt;
Write-Debug (&amp;quot;YlekandeKaust &amp;quot; + $YlekandeKaust)&lt;br /&gt;
Write-Debug (&amp;quot;AjutineJuurkaust &amp;quot; + $AjutineJuurkaust)&lt;br /&gt;
Write-Debug (&amp;quot;YlekantavFailiNimi &amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
Write-Debug (&amp;quot;TeadaolevadKaustad &amp;quot; + $TeadaolevadKaustad)&lt;br /&gt;
&lt;br /&gt;
#Liigutab failid koos emakaustaga&lt;br /&gt;
Get-ChildItem $YourViewJuurkaust -Directory | ForEach-Object {&lt;br /&gt;
    Write-Debug (&amp;quot;YourViewChild &amp;quot; + $_.FullName)&lt;br /&gt;
    Get-ChildItem $_.FullName -Recurse | Where-Object {-not $_.PsIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-$MaxFailivanus) -and $_.Extension -eq &amp;quot;.csv&amp;quot;} | ForEach-Object {&lt;br /&gt;
        $Destination = ($AjutineJuurkaust + &amp;quot;\&amp;quot; + $_.Directory.Name + &amp;quot;\&amp;quot; + $_.Name)&lt;br /&gt;
        #Debug&lt;br /&gt;
        Write-Debug (&amp;quot;Source &amp;quot; + $_.FullName)&lt;br /&gt;
        Write-Debug (&amp;quot;Destination &amp;quot; + $Destination)&lt;br /&gt;
        #Workaround, kuna Move-Item ei loo faili liigutamisel pathi ette&lt;br /&gt;
        New-Item -ItemType Directory -Path ($AjutineJuurkaust + &amp;quot;\&amp;quot; + $_.Directory.Name) -Force&lt;br /&gt;
        Move-Item $_.FullName -Destination $Destination -Force&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Pakib failid kokku&lt;br /&gt;
Try{&lt;br /&gt;
    Write-Zip -Level 9 -IncludeEmptyDirectories -Path ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust) -OutputPath ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
}&lt;br /&gt;
Catch [system.exception] {&lt;br /&gt;
    LogWrite (&amp;quot;Viga 4! Pakkimine ebaõnnestus&amp;quot;)&lt;br /&gt;
    Exit 4&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Edastab ZIPi FTP&#039;ga&lt;br /&gt;
Try {&lt;br /&gt;
    #Creadential objekti on vaja, ses muidu ei saa kuidagi parooli ette anda&lt;br /&gt;
    $Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $FTPServerKasutaja,$FTPServerParool&lt;br /&gt;
    Set-FTPConnection -Credentials $Credential -Server $FTPServer -UseBinary -UsePassive&lt;br /&gt;
    Add-FTPItem -Path $FTPServerTee -LocalPath ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi) -Overwrite&lt;br /&gt;
}&lt;br /&gt;
Catch [system.exception] {&lt;br /&gt;
    LogWrite (&amp;quot;Viga 5! FTP Edastamine ebaõnnestus&amp;quot;)&lt;br /&gt;
    Exit 5&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#Kustuta ZIP&lt;br /&gt;
Remove-Item ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekantavFailiNimi)&lt;br /&gt;
#Kustuta ajutine kaust&lt;br /&gt;
Remove-Item ($YourViewJuurkaust + &amp;quot;\&amp;quot; + $YlekandeKaust) -Recurse&lt;br /&gt;
&lt;br /&gt;
#Exit&lt;br /&gt;
LogWrite (&amp;quot;Kõik OK!&amp;quot;)&lt;br /&gt;
Write-Debug &amp;quot;0&amp;quot;&lt;br /&gt;
Exit 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==VBScript==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vb&amp;quot;&amp;gt;&lt;br /&gt;
&#039;YourView andmete pushija.&lt;br /&gt;
&#039;Alustas Mihkel Soomere augustis 2011.&lt;br /&gt;
&#039;Skripti mõte on transportida minutiandmed automaatselt peamajja objektidel, kus pole püsiühendust ega VPNi.&lt;br /&gt;
&#039;Sõltuvused on 7-zip ja ncftpput.&lt;br /&gt;
&#039;Skript eeldab, et ta leiab asjad määratud kaustadest.&lt;br /&gt;
&#039;st 7-zip peab olema arhitektuuripõhine, ncftpput võib olla ka 32b, sest see läheb system32&#039;te&lt;br /&gt;
&#039;Testitud Windows 7 peal, kuid peaks töötama kõige peal alates Windows 2000.&lt;br /&gt;
&lt;br /&gt;
&#039;Kasutamine&lt;br /&gt;
&#039;Kopeeri skript ja ncftpput windows\system32 kausta&lt;br /&gt;
&#039;Kontorlli, et 7-zip oleks sama, mis operatsioonissüsteemi arhitektuur (alati %programfiles% variable)&lt;br /&gt;
&#039;Lisa Task Scheduleri&lt;br /&gt;
&#039;Kasutajaks SYSTEM&lt;br /&gt;
&#039;Käivita parameetriga jaama nimi.&lt;br /&gt;
&#039;Käivita igal pühapäeval kell 00 (üldjuhul UTC)&lt;br /&gt;
&#039;Jaama nimi peaks olema ASCII märkidega ja kõik kokku, nt narvajoesuu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Workflow:&lt;br /&gt;
&#039;Loo ajutine kaust mis koosneb arvuti nimest ja kuupäevast&lt;br /&gt;
&#039;Liiguta määratud ajast vanem sisu YW põhikaustadest ajutisse kausta&lt;br /&gt;
&#039;Paki ajutine kaust kokku&lt;br /&gt;
&#039;Saada pakitud info ära&lt;br /&gt;
&#039;Kustuta ajutised asjad&lt;br /&gt;
&#039;Kui midagi vahepeal feilib, skript väljub&lt;br /&gt;
&#039;Järgmise käivituse ajal korjab see kokku ka eelmisest käivitusest üle jäänud sodi, pakib selle uuesti kokku ning üritab uuesti ära saata&lt;br /&gt;
&lt;br /&gt;
&#039;Muudatused&lt;br /&gt;
&#039;1.1&lt;br /&gt;
&#039;CURL vahetatud ncfptput vastu, muutujad jäävad samaks.&lt;br /&gt;
&#039;Failid luuakse argumendist võetava failinimega, lisatud kiire väljumine koodiga 6 argumendi puudumisel&lt;br /&gt;
&#039;Logifunktsioon varasemaks toodud, et kontrollida argumendi puudumist&lt;br /&gt;
&#039;1.2&lt;br /&gt;
&#039;Muudetud saadetavate failide nimekuju kujule YYYYMMDD&lt;br /&gt;
&#039;Lisatud koristaja&lt;br /&gt;
&#039;1.2a&lt;br /&gt;
&#039;Välja lülitatud vigane kustutaja&lt;br /&gt;
&lt;br /&gt;
&#039;Karm režiim, nõua muutujate defineerimist, aitab debugimisel&lt;br /&gt;
Option Explicit&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Muutujate loomine&lt;br /&gt;
Dim LogFile, Shell, FileSystemObject, RootFolder, SourceFolder, SourceFolderSubfolder, TransferRootFolder, TransferFile, CreateFolderPath, TransferPath, FileAge, FTPServer, FTPServerUser, FTPServerPassword, SevenZipPath, CURLPath, ComputerName, WshNetwork, FileItem, FTPServerPath, SevenZipExec, i, Run7Zip, LogFileAccess, CURLExec, RunCURL, CleanupFolder, FolderArray, FolderEntry, IsKnownFolder&lt;br /&gt;
&lt;br /&gt;
&#039;Objektide loomine&lt;br /&gt;
Set Shell = CreateObject(&amp;quot;WScript.Shell&amp;quot;)&lt;br /&gt;
Set FileSystemObject = CreateObject(&amp;quot;Scripting.FileSystemObject&amp;quot;)&lt;br /&gt;
Set WshNetwork = WScript.CreateObject(&amp;quot;WScript.Network&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&#039;Initsialiseeri logi&lt;br /&gt;
&#039;Logifail&lt;br /&gt;
LogFile = Shell.ExpandEnvironmentStrings(&amp;quot;%TEMP%&amp;quot;) &amp;amp; &amp;quot;\YWPushLog.txt&amp;quot;&lt;br /&gt;
&#039;Logi funktsioon&lt;br /&gt;
Set LogFile = FileSystemObject.OpenTextFile(LogFile,8,True)&lt;br /&gt;
&lt;br /&gt;
&#039;Atribuudi olemasolu kontroll&lt;br /&gt;
If WScript.Arguments.Count &amp;lt; 1 Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu käsurea argument määramaks jaama nimi. Errorcode: 6&amp;quot;&lt;br /&gt;
	WScript.quit(6)&lt;br /&gt;
end If&lt;br /&gt;
&lt;br /&gt;
&#039;Muutujate määramine&lt;br /&gt;
&#039;See on hardcodetud, kuna YourView path on igalpool sama.&lt;br /&gt;
Set RootFolder = FileSystemObject.GetFolder(&amp;quot;C:\YourView&amp;quot;)&lt;br /&gt;
&#039;Määrab saatmise kausta tee ja faili&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;Algses skrptis kasutati faili jaoks arvuti nime, selletõttu on muutuja ikka ComputerName, kuigi tema sisu on muutunud.&lt;br /&gt;
ComputerName = WScript.Arguments.Item(0)&lt;br /&gt;
TransferRootFolder = RootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; ComputerName &amp;amp; &amp;quot;-&amp;quot; &amp;amp; Date()&lt;br /&gt;
TransferFile = ComputerName &amp;amp; &amp;quot;-&amp;quot; &amp;amp; Year(Date) &amp;amp; Right(&amp;quot;0&amp;quot; &amp;amp; Month(Date),2) &amp;amp; Right(&amp;quot;0&amp;quot; &amp;amp; Day(Date),2) &amp;amp; &amp;quot;.zip&amp;quot;&lt;br /&gt;
&#039;1.2 lisand - eeldatavate kaustade massiiv&lt;br /&gt;
FolderArray = Array(&amp;quot;CT&amp;quot;,&amp;quot;FD&amp;quot;,&amp;quot;PTU&amp;quot;,&amp;quot;SR&amp;quot;,&amp;quot;TG&amp;quot;,&amp;quot;WA&amp;quot;,&amp;quot;WIND&amp;quot;,&amp;quot;CT25K&amp;quot;,&amp;quot;FD12P&amp;quot;,&amp;quot;PTU_INST&amp;quot;,&amp;quot;SR_INST&amp;quot;,&amp;quot;TG_INST&amp;quot;)&lt;br /&gt;
&#039;Rohkem kui järgnev arv päevi vanad failid võetakse töötlusse&lt;br /&gt;
FileAge = 3&lt;br /&gt;
&#039;FTP ligipääsu andmed&lt;br /&gt;
FTPServer = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerPath = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerUser = &amp;quot;&amp;quot;&lt;br /&gt;
FTPServerPassword = &amp;quot;&amp;quot;&lt;br /&gt;
&#039;Väliste rakenduste pathid&lt;br /&gt;
SevenZipPath = Shell.ExpandEnvironmentStrings(&amp;quot;%ProgramFiles%&amp;quot;) &amp;amp; &amp;quot;\7-Zip\7z.exe&amp;quot;&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;CURL viitab tegelikult ncftpput&#039;ile&lt;br /&gt;
CURLPath = FileSystemObject.GetSpecialFolder(1) &amp;amp; &amp;quot;\ncftpput.exe&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Kontrolli kas YourView kaust on olemas&lt;br /&gt;
If Not FileSystemObject.FolderExists(RootFolder) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitline viga! Puudu järgnev oluline kaust: &amp;quot; &amp;amp; RootFolder &amp;amp; &amp;quot; Variable: RootFolder Errorcode: 1&amp;quot;&lt;br /&gt;
	WScript.quit(1)&lt;br /&gt;
End If&lt;br /&gt;
&#039;Kontrolli kas 7-Zip on olemas&lt;br /&gt;
If Not FileSystemObject.FileExists(SevenZipPath) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu järgnev oluline fail: &amp;quot; &amp;amp; SevenZipPath &amp;amp; &amp;quot; Variable: SevenZipPath Errorcode: 2&amp;quot;&lt;br /&gt;
	WScript.quit(2)&lt;br /&gt;
End If&lt;br /&gt;
&#039;Kontrolli kas CURL on olemas&lt;br /&gt;
If Not FileSystemObject.FileExists(CURLPath) Then&lt;br /&gt;
	LogFile.WriteLine Now() &amp;amp; &amp;quot; Kriitiline viga! Puudu järgnev oluline fail: &amp;quot; &amp;amp; CURLPath &amp;amp; &amp;quot; Variable: CURLPath Errorcode: 2&amp;quot;&lt;br /&gt;
	WScript.quit(3)&lt;br /&gt;
End If&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Loo edastamise kaustastruktuuur ja liiguta andmed&lt;br /&gt;
If Not FileSystemObject.FolderExists(TransferRootFolder) Then&lt;br /&gt;
	Set CreateFolderPath = FileSystemObject.CreateFolder(TransferRootFolder)&lt;br /&gt;
End If&lt;br /&gt;
For Each SourceFolder in RootFolder.SubFolders&lt;br /&gt;
	&#039;Jäta vahele edastuskaust ise&lt;br /&gt;
	If Not SourceFolder = TransferRootFolder Then&lt;br /&gt;
		TransferPath = TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; SourceFolder.Name&lt;br /&gt;
		If Not FileSystemObject.FolderExists(TransferPath) Then&lt;br /&gt;
			Set CreateFolderPath = FileSystemObject.CreateFolder(TransferPath)&lt;br /&gt;
		End If&lt;br /&gt;
		For Each FileItem in SourceFolder.Files&lt;br /&gt;
			If DateDiff(&amp;quot;d&amp;quot;,FileItem.DateLastModified,Now()) &amp;gt; FileAge Then&lt;br /&gt;
				FileSystemObject.MoveFile SourceFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; FileItem.Name , TransferPath &amp;amp; &amp;quot;\&amp;quot; &amp;amp; FileItem.Name&lt;br /&gt;
			End If&lt;br /&gt;
		Next&lt;br /&gt;
	End If&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Paki andmed kokku 7Zip kasutades. See loopib et vea korral uuesti proovida&lt;br /&gt;
&#039;Määra käsurea parameetrid&lt;br /&gt;
SevenZipExec = chr(34) &amp;amp; SevenZipPath &amp;amp; chr(34) &amp;amp; &amp;quot; a -tzip &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; TransferFile &amp;amp; chr(34) &amp;amp; &amp;quot; &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; chr(34)&lt;br /&gt;
&#039;Nulli tsüklikordaja&lt;br /&gt;
i=0&lt;br /&gt;
&#039;Käivita tsükkel 3 korda&lt;br /&gt;
Do While (i&amp;lt;3)&lt;br /&gt;
	&#039;Käivita peidetuna ning oota käivituse lõppu.&lt;br /&gt;
	Run7Zip = Shell.Run(SevenZipExec,0,True)&lt;br /&gt;
	&#039;Kui pakkimine õnnestus, välju tsüklist&lt;br /&gt;
	If (Run7Zip = 0) Then Exit Do&lt;br /&gt;
	&#039;Kui 3 korda proovitud, kirjuta logisse ning välju skriptist veakoodiga 4&lt;br /&gt;
	&#039;Jäta vahele andmete saatmine, kui seda pole niikuinii pakitud&lt;br /&gt;
	If (i = 2) Then&lt;br /&gt;
		LogFile.WriteLine Now() &amp;amp; &amp;quot; Fataaalne viga pakkimisel! Proovitud 3 korda pakkida. Errorcode 4 ReturnCode: &amp;quot; &amp;amp; Run7Zip &amp;amp; &amp;quot; SevenZipExec: &amp;quot; &amp;amp; SevenZipExec&lt;br /&gt;
		WScript.quit(4)&lt;br /&gt;
	End If&lt;br /&gt;
	&#039;Kui oli viga, siis kirjuta ReturnCode ja käivitatud käsurida logisse&lt;br /&gt;
	If Not (Run7Zip = 0) Then LogFile.WriteLine Now() &amp;amp; &amp;quot; Viga pakkimisel! Proovin uuesti. ReturnCode: &amp;quot; &amp;amp; Run7Zip &amp;amp; &amp;quot; SevenZipExec: &amp;quot; &amp;amp; SevenZipExec&lt;br /&gt;
	&#039;Suurenda tsüklikordajat&lt;br /&gt;
	i = i+1&lt;br /&gt;
	&#039;Oota 10 minutit&lt;br /&gt;
	WScript.Sleep 600000&lt;br /&gt;
Loop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;Edasta andmed CURL kasutades. See loopib et vea korral uuesti proovida&lt;br /&gt;
&#039;Määra käsurea parameetrid&lt;br /&gt;
&#039;Muudatus versioonis 1.1&lt;br /&gt;
&#039;Parameetrid on ncftpput jaoks&lt;br /&gt;
CURLExec = chr(34) &amp;amp; CURLPath &amp;amp; chr(34) &amp;amp; &amp;quot; -u &amp;quot; &amp;amp; FTPServerUser &amp;amp; &amp;quot; -p &amp;quot; &amp;amp; Base64Decode(FTPServerPassword) &amp;amp; &amp;quot; -T . &amp;quot; &amp;amp; FTPServer &amp;amp; &amp;quot; &amp;quot; &amp;amp; FTPServerPath &amp;amp; &amp;quot; &amp;quot; &amp;amp; chr(34) &amp;amp; TransferRootFolder &amp;amp; &amp;quot;\&amp;quot; &amp;amp; TransferFile &amp;amp; chr(34)&lt;br /&gt;
&#039;Nulli tsüklikordaja&lt;br /&gt;
i=0&lt;br /&gt;
&#039;Käivita 10 korda&lt;br /&gt;
Do While (i&amp;lt;10)&lt;br /&gt;
	&#039;Käivita peidetuna ning oota käivituse lõppu.&lt;br /&gt;
	RunCURL = Shell.Run(CURLExec,0,True)&lt;br /&gt;
	&#039;Kui pakkimine õnnestus, välju tsüklist&lt;br /&gt;
	If (RunCURL = 0) Then Exit Do&lt;br /&gt;
	&#039;Kui 10 korda proovitud, kirjuta logisse ning välju skriptist veakoodiga 5&lt;br /&gt;
	If (i = 9) Then&lt;br /&gt;
		LogFile.WriteLine Now() &amp;amp; &amp;quot; Fataaalne viga saatmisel! Proovitud 10 korda saata. Errorcode 5 ReturnCode: &amp;quot; &amp;amp; RunCURL &amp;amp; &amp;quot; CURLExec: &amp;quot; &amp;amp; CURLExec&lt;br /&gt;
		WScript.quit(5)&lt;br /&gt;
	End If&lt;br /&gt;
	&#039;Kui oli viga, siis kirjuta ReturnCode ja käivitatud käsurida logisse&lt;br /&gt;
	If Not (RunCURL = 0) Then LogFile.WriteLine Now() &amp;amp; &amp;quot; Viga saatmisel! Proovin uuesti. ReturnCode: &amp;quot; &amp;amp; RunCURL &amp;amp; &amp;quot; CURLExec: &amp;quot; &amp;amp; CURLExec&lt;br /&gt;
	&#039;Suurenda tsüklikordajat&lt;br /&gt;
	i = i+1&lt;br /&gt;
	&#039;Oota 10 minutit&lt;br /&gt;
	WScript.Sleep 600000&lt;br /&gt;
Loop&lt;br /&gt;
&#039;Kui kõik ikkagi õnnestus kirjuta logisse maha&lt;br /&gt;
LogFile.WriteLine Now() &amp;amp; &amp;quot; Kõik OK!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;Eemalda edastatud andmed&lt;br /&gt;
FileSystemObject.DeleteFolder TransferRootFolder&lt;br /&gt;
&#039;Korista ära ja välju ilma veata&lt;br /&gt;
&#039;Lisa 1.2&lt;br /&gt;
&#039;Loopib läbi kõik kaustad ning võrdleb neid teadaolevate kaustadega - kui kaust pole teadaolev, kustuta.&lt;br /&gt;
&#039;Lisa 1.2a&lt;br /&gt;
&#039;Kustutaja välja lülitatud, kuna mõned kaustad teadmata põhjusel kustutatakse valesti&lt;br /&gt;
&#039;For Each CleanupFolder in RootFolder.SubFolders&lt;br /&gt;
&#039;	IsKnownFolder=False&lt;br /&gt;
&#039;	For Each FolderEntry in FolderArray&lt;br /&gt;
&#039;		If CleanupFolder = &amp;quot;C:\YourView\&amp;quot; &amp;amp; FolderEntry Then&lt;br /&gt;
&#039;			IsKnownFolder=True&lt;br /&gt;
&#039;		End If&lt;br /&gt;
&#039;	Next&lt;br /&gt;
&#039;	If IsKnownFolder = False Then&lt;br /&gt;
&#039;		FileSystemObject.DeleteFolder CleanupFolder&lt;br /&gt;
&#039;	End If&lt;br /&gt;
&#039;Next&lt;br /&gt;
WScript.quit()&lt;br /&gt;
&lt;br /&gt;
&#039;Väline libra Base64 dekodeerimiseks&lt;br /&gt;
Function Base64Decode(ByVal base64String)&lt;br /&gt;
  Const Base64 = &amp;quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&amp;quot;&lt;br /&gt;
  Dim dataLength, sOut, groupBegin&lt;br /&gt;
  base64String = Replace(base64String, vbCrLf, &amp;quot;&amp;quot;)&lt;br /&gt;
  base64String = Replace(base64String, vbTab, &amp;quot;&amp;quot;)&lt;br /&gt;
  base64String = Replace(base64String, &amp;quot; &amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
  dataLength = Len(base64String)&lt;br /&gt;
  If dataLength Mod 4 &amp;lt;&amp;gt; 0 Then&lt;br /&gt;
    Err.Raise 1, &amp;quot;Base64Decode&amp;quot;, &amp;quot;Bad Base64 string.&amp;quot;&lt;br /&gt;
    Exit Function&lt;br /&gt;
  End If&lt;br /&gt;
  For groupBegin = 1 To dataLength Step 4&lt;br /&gt;
    Dim numDataBytes, CharCounter, thisChar, thisData, nGroup, pOut&lt;br /&gt;
    numDataBytes = 3&lt;br /&gt;
    nGroup = 0&lt;br /&gt;
    For CharCounter = 0 To 3&lt;br /&gt;
      thisChar = Mid(base64String, groupBegin + CharCounter, 1)&lt;br /&gt;
      If thisChar = &amp;quot;=&amp;quot; Then&lt;br /&gt;
        numDataBytes = numDataBytes - 1&lt;br /&gt;
        thisData = 0&lt;br /&gt;
      Else&lt;br /&gt;
        thisData = InStr(1, Base64, thisChar, vbBinaryCompare) - 1&lt;br /&gt;
      End If&lt;br /&gt;
      If thisData = -1 Then&lt;br /&gt;
        Err.Raise 2, &amp;quot;Base64Decode&amp;quot;, &amp;quot;Bad character In Base64 string.&amp;quot;&lt;br /&gt;
        Exit Function&lt;br /&gt;
      End If&lt;br /&gt;
      nGroup = 64 * nGroup + thisData&lt;br /&gt;
    Next&lt;br /&gt;
    nGroup = Hex(nGroup)&lt;br /&gt;
    nGroup = String(6 - Len(nGroup), &amp;quot;0&amp;quot;) &amp;amp; nGroup&lt;br /&gt;
    pOut = Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 1, 2))) + _&lt;br /&gt;
      Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 3, 2))) + _&lt;br /&gt;
      Chr(CByte(&amp;quot;&amp;amp;H&amp;quot; &amp;amp; Mid(nGroup, 5, 2)))&lt;br /&gt;
    sOut = sOut &amp;amp; Left(pOut, numDataBytes)&lt;br /&gt;
  Next&lt;br /&gt;
  Base64Decode = sOut&lt;br /&gt;
End Function&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Category: Skriptimiskeeled]]&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Operatsioonis%C3%BCsteemide_referaadid_2011_S%C3%BCgis&amp;diff=45370</id>
		<title>Operatsioonisüsteemide referaadid 2011 Sügis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Operatsioonis%C3%BCsteemide_referaadid_2011_S%C3%BCgis&amp;diff=45370"/>
		<updated>2012-01-05T20:22:24Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Mihkel Soomere AK41 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
=Päevaõpe=&lt;br /&gt;
==Raido Aarop A21==&lt;br /&gt;
&lt;br /&gt;
==Sander Arnus A22==	&lt;br /&gt;
[[Apt-key]]	&lt;br /&gt;
				&lt;br /&gt;
==Kullo-Kalev Aru A21==						&lt;br /&gt;
==Kalju Hõbemäe A22==&lt;br /&gt;
[[Httperf]]&lt;br /&gt;
&lt;br /&gt;
[[Talk:PAM]] - Arvustus	&lt;br /&gt;
						&lt;br /&gt;
==Carolys Kallas A22==&lt;br /&gt;
[[Regulaaravaldis]]&lt;br /&gt;
&lt;br /&gt;
[[Talk:/etc/passwd]] - Arvustus&lt;br /&gt;
&lt;br /&gt;
==Kristo Kapten A22==&lt;br /&gt;
[[Ubuntu Rescue Remix]]&lt;br /&gt;
&lt;br /&gt;
[[Talk:Ab]] - Arvustus&lt;br /&gt;
&lt;br /&gt;
==Nele Kiigemägi A21==&lt;br /&gt;
[[Vmstat]]		&lt;br /&gt;
[[Talk:Apt pinning]] - arvustus&lt;br /&gt;
				&lt;br /&gt;
==Kersti Lang A21==					&lt;br /&gt;
==Rauno Lehiste A22==&lt;br /&gt;
[[Nmap]]&lt;br /&gt;
&lt;br /&gt;
[[Talk:Vmstat]] - arvustus&lt;br /&gt;
&lt;br /&gt;
==Urmo Lihten A21==&lt;br /&gt;
[[Metasploit]]&lt;br /&gt;
&lt;br /&gt;
Arvustus - [[Talk: Apt-key]]&lt;br /&gt;
&lt;br /&gt;
==Tambet Liiv A22==&lt;br /&gt;
[[Ab]]&lt;br /&gt;
&lt;br /&gt;
==Iti Liivik A22==&lt;br /&gt;
[[PAM]]&lt;br /&gt;
&lt;br /&gt;
[[Talk:logger]] - arvustus&lt;br /&gt;
&lt;br /&gt;
==Priit Lilleleht A21==						&lt;br /&gt;
==Oliver Naaris A21==&lt;br /&gt;
[[Minix]]&lt;br /&gt;
&lt;br /&gt;
[[Talk:Nmap]] - arvustus&lt;br /&gt;
==Kairo Ostapenko A41==							&lt;br /&gt;
==Kermo Pajula A22==						&lt;br /&gt;
==Kristjan Pajumaa A32==							&lt;br /&gt;
==Andres Pihlak A22==&lt;br /&gt;
[[Kustutatud failide taastamine Ubuntus]]						&lt;br /&gt;
==Robert Pärn A21	==&lt;br /&gt;
[[kill]]&lt;br /&gt;
&lt;br /&gt;
[[Talk:Minix]]&lt;br /&gt;
&lt;br /&gt;
==Inger Romanenko A31==	&lt;br /&gt;
[[SystemRescueCd]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Md5sum]]&lt;br /&gt;
==Gertti-Vena Rätsep A21==&lt;br /&gt;
&lt;br /&gt;
[[Ubuntu 11.10]]&lt;br /&gt;
&lt;br /&gt;
Retsensioon:&lt;br /&gt;
https://wiki.itcollege.ee/index.php/Talk:Kustutatud_failide_taastamine_Ubuntus&lt;br /&gt;
&lt;br /&gt;
==Lauri Rüütli A21==&lt;br /&gt;
* Arvustus : https://wiki.itcollege.ee/index.php/Talk:Ubuntu_11.10&lt;br /&gt;
&lt;br /&gt;
==Teet Saar A22==&lt;br /&gt;
&lt;br /&gt;
[[Linux/Unix protsessid]]&lt;br /&gt;
&lt;br /&gt;
[[Talk:Sshguard]] - Retsensioon&lt;br /&gt;
&lt;br /&gt;
==Heiki Saaver A31==&lt;br /&gt;
&lt;br /&gt;
[[ Zip ]]&lt;br /&gt;
&lt;br /&gt;
==Taavi Sannik A21==&lt;br /&gt;
&lt;br /&gt;
[[ Apt pinning ]]&lt;br /&gt;
&lt;br /&gt;
==Sander Saveli A22==&lt;br /&gt;
[[Grub2]]&lt;br /&gt;
&lt;br /&gt;
==Rene Sepp A31==						&lt;br /&gt;
==Aare Song A22==							&lt;br /&gt;
==Tarmo Suurmägi A21==	&lt;br /&gt;
&lt;br /&gt;
[[/etc/passwd]] - valmis ülevaatamiseks&lt;br /&gt;
&lt;br /&gt;
[[Talk:Ubuntu_11.10]] - retsensioon&lt;br /&gt;
&lt;br /&gt;
==Taavi Zeiger A21==						&lt;br /&gt;
==Ott Telga A22==						&lt;br /&gt;
==Raigo Trei A21==&lt;br /&gt;
[[logger]]&lt;br /&gt;
&lt;br /&gt;
[[Talk:Ubuntu_Rescue_Remix]] - Arvustus&lt;br /&gt;
&lt;br /&gt;
==Robert Vane A21==&lt;br /&gt;
[[Sshguard]]&lt;br /&gt;
&lt;br /&gt;
=Kaugõpe=&lt;br /&gt;
==Uuve Maikov AK21==&lt;br /&gt;
[[lshw]]	&lt;br /&gt;
&lt;br /&gt;
Koostamisel&lt;br /&gt;
==Risto Bristol AK31==&lt;br /&gt;
[[Nagios]]&lt;br /&gt;
&lt;br /&gt;
==Andrus Dei AK31==&lt;br /&gt;
[[lspci]]&lt;br /&gt;
&lt;br /&gt;
==Aive Haavel AK21==&lt;br /&gt;
[[Dmidecode]]&lt;br /&gt;
&lt;br /&gt;
==Jüri Kalbin AK21==&lt;br /&gt;
[[OpenVZ]]&lt;br /&gt;
&lt;br /&gt;
==Meelis Kurnikov AK21==&lt;br /&gt;
[[Expect]]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon: [[Talk:Nagios]]&lt;br /&gt;
&lt;br /&gt;
==Erki Marmor AK11==&lt;br /&gt;
[[DHCP teenus Ubuntu Server süsteemis]]&lt;br /&gt;
&lt;br /&gt;
==Klaid Mägi AK21==&lt;br /&gt;
[[OpenNMS installeerimine Debianile]]&lt;br /&gt;
&lt;br /&gt;
==Rünno Reinu AK31== 						 &lt;br /&gt;
&lt;br /&gt;
Rünno hindab teiste töid.&lt;br /&gt;
&lt;br /&gt;
==Taavo Siimer AK41==&lt;br /&gt;
&lt;br /&gt;
[[Softi RAID Ubuntu baasil.]]&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine ]]&lt;br /&gt;
&lt;br /&gt;
==Mihkel Soomere AK41==&lt;br /&gt;
[[Identity Management]]&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Talk:Lspci]]&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Lspci&amp;diff=45369</id>
		<title>Talk:Lspci</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Lspci&amp;diff=45369"/>
		<updated>2012-01-05T20:21:39Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Retsenseeris: Mihkel Soomere (AK41)&lt;br /&gt;
&lt;br /&gt;
Tegemist on põhimõtteliselt man-page tõlkega mõnede kärbete ja ümbertõstmistega, lisasisu ei tuvastanud.&lt;br /&gt;
&lt;br /&gt;
Puuduvad näited tööriista väljundist, kuigi artikli fookus seda eeldaks, näiteks kasvõi vaikimisi väljund VirtualBoxi peal.&lt;br /&gt;
&amp;lt;pre&amp;gt;root@ubuntuserver:~# lspci&lt;br /&gt;
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter&lt;br /&gt;
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service&lt;br /&gt;
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)&lt;br /&gt;
00:08.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:09.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:18.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)&lt;br /&gt;
00:19.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)&lt;br /&gt;
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)&lt;br /&gt;
00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller&lt;br /&gt;
00:1f.2 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)&lt;br /&gt;
00:1f.4 USB controller: Apple Computer Inc. KeyLargo/Intrepid USB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ootaks näiteid, kuidas tööriista päriselus kasutada (use case). Näiteks on arvutis tundmatu PCI seade (DVB tüüner), mis ei hakka ise tööle ning lspci kasutades tuleks leida seadme tüüp ning selle järgi draiver (mis ei pruugi kernelis vaikimisi olla).&lt;br /&gt;
&lt;br /&gt;
Mõned spetsiifilisemad terminid võiks olla viidatud või seletatud:&lt;br /&gt;
* PCI domeen&lt;br /&gt;
&lt;br /&gt;
Kuna üsna paljud võtmed on praktikas või väljaspool eriolukordi kasutud, võiks nad välja jätta (--version, -G, -vvv, -xxx(x)...).&lt;br /&gt;
&lt;br /&gt;
Mõned õigekirjalised ja keelelised parandused:&lt;br /&gt;
* -m -mm juures on õigem kasutada alalütlevat käänet (masinloetaval kujul)&lt;br /&gt;
* --mm juures on protsessimise asemel õige sõna töötlemine&lt;br /&gt;
* mõned sõnad võtmetes nagu file, access denied, domain, bus... võiks ära tõlkida ikka&lt;br /&gt;
&lt;br /&gt;
Kuna originaalset sisu ei ole, üsna mõistliku tõlke eest skooriks 3/10.&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Lspci&amp;diff=45368</id>
		<title>Talk:Lspci</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Lspci&amp;diff=45368"/>
		<updated>2012-01-05T20:21:18Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Retsenseeris: Mihkel Soomere (AK41)&lt;br /&gt;
&lt;br /&gt;
Tegemist on põhimõtteliselt man-page tõlkega mõnede kärbete ja ümbertõstmistega, lisasisu ei tuvastanud.&lt;br /&gt;
&lt;br /&gt;
Puuduvad näited tööriista väljundist, kuigi artikli fookus seda eeldaks, näiteks kasvõi vaikimisi väljund VirtualBoxi peal.&lt;br /&gt;
&amp;lt;pre&amp;gt;root@ubuntuserver:~# lspci&lt;br /&gt;
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter&lt;br /&gt;
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service&lt;br /&gt;
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)&lt;br /&gt;
00:08.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:09.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:18.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)&lt;br /&gt;
00:19.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)&lt;br /&gt;
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)&lt;br /&gt;
00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller&lt;br /&gt;
00:1f.2 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)&lt;br /&gt;
00:1f.4 USB controller: Apple Computer Inc. KeyLargo/Intrepid USB&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ootaks näiteid, kuidas tööriista päriselus kasutada (use case). Näiteks on arvutis tundmatu PCI seade (DVB tüüner), mis ei hakka ise tööle ning lspci kasutades tuleks leida seadme tüüp ning selle järgi draiver (mis ei pruugi kernelis vaikimisi olla).&lt;br /&gt;
&lt;br /&gt;
Mõned spetsiifilisemad terminid võiks olla viidatud või seletatud:&lt;br /&gt;
* PCI domeen&lt;br /&gt;
&lt;br /&gt;
Kuna üsna paljud võtmed on praktikas või väljaspool eriolukordi kasutud, võiks nad välja jätta (--version, -G, -vvv, -xxx(x)...).&lt;br /&gt;
&lt;br /&gt;
Mõned õigekirjalised ja keelelised parandused:&lt;br /&gt;
* -m -mm juures on õigem kasutada alalütlevat käänet (masinloetaval kujul)&lt;br /&gt;
* --mm juures on protsessimise asemel õige sõna töötlemine&lt;br /&gt;
* mõned sõnad võtmetes nagu file, access denied, domain, bus... võiks ära tõlkida ikka&lt;br /&gt;
&lt;br /&gt;
Kuna originaalset sisu ei ole, üsna pädeva tõlke eest skooriks 3/10.&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Lspci&amp;diff=45353</id>
		<title>Talk:Lspci</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Lspci&amp;diff=45353"/>
		<updated>2012-01-05T16:49:03Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Retsenseeris: Mihkel Soomere (AK41)&lt;br /&gt;
&lt;br /&gt;
Tegemist on põhimõtteliselt man-page tõlkega.&lt;br /&gt;
&lt;br /&gt;
Puuduvad näited tööriista väljundist, kuigi artikli fookus seda eeldaks. Näiteks kasvõi väljund VirtualBoxi peal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntuserver:~# lspci&lt;br /&gt;
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter&lt;br /&gt;
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service&lt;br /&gt;
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)&lt;br /&gt;
00:08.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:09.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:18.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)&lt;br /&gt;
00:19.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)&lt;br /&gt;
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)&lt;br /&gt;
00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller&lt;br /&gt;
00:1f.2 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)&lt;br /&gt;
00:1f.4 USB controller: Apple Computer Inc. KeyLargo/Intrepid USB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ootaks näiteid, kuidas tööriista päriselus kasutada (use case). Näiteks on tundmatu PCI seade (DVB tüüner), mis ei hakka ise tööle ning PCI ID järgi tuleks leida draiver.&lt;br /&gt;
&lt;br /&gt;
Kuna üsna paljud võtmed on praktikas või väljaspool eriolukordi kasutud, võiks nad välja jätta (--version, -G, -vvv, -xxx(x)...).&lt;br /&gt;
&lt;br /&gt;
Mõned õigekirjalised ja keelelised parandused:&lt;br /&gt;
* -m -mm juures on õigem kasutada alalütlevat käänet (masinloetaval kujul)&lt;br /&gt;
* --mm juures on protsessimise asemel õige sõna töötlemine&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Lspci&amp;diff=45352</id>
		<title>Talk:Lspci</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Lspci&amp;diff=45352"/>
		<updated>2012-01-05T16:48:14Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Retsenseeris: Mihkel Soomere (AK41)&lt;br /&gt;
&lt;br /&gt;
Tegemist on põhimõtteliselt man-page tõlkega.&lt;br /&gt;
&lt;br /&gt;
Puuduvad näited tööriista väljundist, kuigi artikli fookus seda eeldaks. Näiteks kasvõi väljund VirtualBoxi peal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntuserver:~# lspci&lt;br /&gt;
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter&lt;br /&gt;
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service&lt;br /&gt;
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)&lt;br /&gt;
00:08.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:09.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:18.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)&lt;br /&gt;
00:19.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)&lt;br /&gt;
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)&lt;br /&gt;
00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller&lt;br /&gt;
00:1f.2 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)&lt;br /&gt;
00:1f.4 USB controller: Apple Computer Inc. KeyLargo/Intrepid USB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ootaks näiteid, kuidas tööriista päriselus kasutada (use case). Näiteks on tundmatu PCI seade (DVB tüüner), mis ei hakka ise tööle ning PCI ID järgi tuleks leida draiver.&lt;br /&gt;
&lt;br /&gt;
Kuna üsna paljud võtmed on praktikas või väljaspool eriolukordi kasutud, võiks nad välja jätta (--version, -G, -vvv, -xxx(x)).&lt;br /&gt;
&lt;br /&gt;
Mõned õigekirjalised ja keelelised parandused:&lt;br /&gt;
* -m -mm juures on õigem kasutada alalütlevat käänet (masinloetaval kujul)&lt;br /&gt;
* --mm juures on protsessimise asemel õige sõna töötlemine&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Lspci&amp;diff=45351</id>
		<title>Talk:Lspci</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Lspci&amp;diff=45351"/>
		<updated>2012-01-05T16:46:57Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Retsenseeris: Mihkel Soomere (AK41)&lt;br /&gt;
&lt;br /&gt;
Tegemist on põhimõtteliselt man-page tõlkega.&lt;br /&gt;
&lt;br /&gt;
Puuduvad näited tööriista väljundist, kuigi artikli fookus seda eeldaks. Näiteks kasvõi väljund VirtualBoxi peal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntuserver:~# lspci&lt;br /&gt;
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter&lt;br /&gt;
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service&lt;br /&gt;
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)&lt;br /&gt;
00:08.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:09.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:18.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)&lt;br /&gt;
00:19.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)&lt;br /&gt;
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)&lt;br /&gt;
00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller&lt;br /&gt;
00:1f.2 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)&lt;br /&gt;
00:1f.4 USB controller: Apple Computer Inc. KeyLargo/Intrepid USB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ootaks näiteid, kuidas tööriista päriselus kasutada.&lt;br /&gt;
&lt;br /&gt;
Kuna üsna paljud võtmed on praktikas või väljaspool eriolukordi kasutud, võiks nad välja jätta (--version, -G, -vvv, -xxx(x)).&lt;br /&gt;
&lt;br /&gt;
Mõned õigekirjalised ja keelelised parandused:&lt;br /&gt;
* -m -mm juures on õigem kasutada alalütlevat käänet (masinloetaval kujul)&lt;br /&gt;
* --mm juures on protsessimise asemel õige sõna töötlemine&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Lspci&amp;diff=45350</id>
		<title>Talk:Lspci</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Lspci&amp;diff=45350"/>
		<updated>2012-01-05T16:46:34Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: Created page with &amp;#039;Tegemist on põhimõtteliselt man-page tõlkega.  Puuduvad näited tööriista väljundist, kuigi artikli fookus seda eeldaks. Näiteks kasvõi väljund VirtualBoxi peal.  &amp;lt;pre&amp;gt; …&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tegemist on põhimõtteliselt man-page tõlkega.&lt;br /&gt;
&lt;br /&gt;
Puuduvad näited tööriista väljundist, kuigi artikli fookus seda eeldaks. Näiteks kasvõi väljund VirtualBoxi peal.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@ubuntuserver:~# lspci&lt;br /&gt;
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter&lt;br /&gt;
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service&lt;br /&gt;
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)&lt;br /&gt;
00:08.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:09.0 Ethernet controller: Red Hat, Inc Virtio network device&lt;br /&gt;
00:18.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)&lt;br /&gt;
00:19.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f2)&lt;br /&gt;
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)&lt;br /&gt;
00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller&lt;br /&gt;
00:1f.2 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)&lt;br /&gt;
00:1f.4 USB controller: Apple Computer Inc. KeyLargo/Intrepid USB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ootaks näiteid, kuidas tööriista päriselus kasutada.&lt;br /&gt;
&lt;br /&gt;
Kuna üsna paljud võtmed on praktikas või väljaspool eriolukordi kasutud, võiks nad välja jätta (--version, -G, -vvv, -xxx(x)).&lt;br /&gt;
&lt;br /&gt;
Mõned õigekirjalised ja keelelised parandused:&lt;br /&gt;
* -m -mm juures on õigem kasutada alalütlevat käänet (masinloetaval kujul)&lt;br /&gt;
* --mm juures on protsessimise asemel õige sõna töötlemine&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=45074</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=45074"/>
		<updated>2011-12-21T13:18:13Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&#039;&#039;Identity Management&#039;&#039; ehk identiteedihaldus on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (&#039;&#039;metabase&#039;&#039;, &#039;&#039;meta-directory&#039;&#039;). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi &#039;&#039;trigger&#039;&#039;, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
==Tüüpiline tööolukord==&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse. Näide on lihtsustatud, kuid kajastab tüüpilist töömehhanismi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstsenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd.&lt;br /&gt;
&lt;br /&gt;
Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla &#039;&#039;multi-value&#039;&#039; (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises &#039;&#039;single-value&#039;&#039;. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimine==&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
===Paroolide sünkroonimise turvarisk===&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
==Sünkroonimine erisused==&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
Tüüpiline näide on kasutajanimede olukord. Tihti kasutatakse Active Directory&#039;s kasutajanimekuju eesnimi.perekonnanimi. Teisalt on SQL&#039;is punkt eraldaja ning eDirectory&#039;s märgib see kasutaja konteksti (asukohta kataloogipuus). Identiteedihaldus võib seda lahendada mitut moodi. Ühel juhul võidakse kasutajanime muuta süsteemiga sobivaks, näiteks eemaldades punkti või asendadades selle teise märgiga. Teisel juhul võidakse see jätta samaks ning kasutada SQL&#039;is või eDirectory&#039;s erimärgi &#039;&#039;escape&#039;&#039;mist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
*Novell Identity Management&lt;br /&gt;
*Microsoft Forefront Identity Management&lt;br /&gt;
*IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
Erinevate tarkvarade vahel ei ole funktsionaalsuselt erilisi vahesid, pigem on vahe tehnilises lahenduses. Novelli ja Microsofti lahendusi on Eestis ka edukalt rakendatud.&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Välja toodud  piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt algavadki identiteedihalduse süsteemid just standardlahendustest ning hiljem laienevad erilahendustele. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud.&lt;br /&gt;
&lt;br /&gt;
Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele.&lt;br /&gt;
&lt;br /&gt;
Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks. Siiski ei tasu end rahanumbritel hirmutada lasta, sest tasuvusaeg võib olla vägagi kiire.&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44319</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44319"/>
		<updated>2011-12-11T19:26:41Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Enimlevinud identiteedihalduse tarkvarad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&#039;&#039;Identity Management&#039;&#039; ehk identiteedihaldus on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (&#039;&#039;metabase&#039;&#039;, &#039;&#039;meta-directory&#039;&#039;). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi &#039;&#039;trigger&#039;&#039;, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
==Tüüpiline tööolukord==&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse. Näide on lihtsustatud, kuid kajastab tüüpilist töömehhanismi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstsenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd.&lt;br /&gt;
&lt;br /&gt;
Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla &#039;&#039;multi-value&#039;&#039; (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises &#039;&#039;single-value&#039;&#039;. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimine==&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
===Paroolide sünkroonimise turvarisk===&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
==Sünkroonimine erisused==&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
Tüüpiline näide on kasutajanimede olukord. Tihti kasutatakse Active Directory&#039;s kasutajanimekuju eesnimi.perekonnanimi. Teisalt on SQL&#039;is punkt eraldaja ning eDirectory&#039;s märgib see kasutaja konteksti (asukohta kataloogipuus). Identiteedihaldus võib seda lahendada mitut moodi. Ühel juhul võidakse kasutajanime muuta süsteemiga sobivaks, näiteks eemaldades punkti või asendadades selle teise märgiga. Teisel juhul võidakse see jätta samaks ning kasutada SQL&#039;is või eDirectory&#039;s erimärgi &#039;&#039;escape&#039;&#039;mist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
*Novell Identity Management&lt;br /&gt;
*Microsoft Forefront Identity Management&lt;br /&gt;
*IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
Erinevate tarkvarade vahel ei ole funktsionaalsuselt erilisi vahesid, pigem on vahe tehnilises lahenduses. Novelli ja Microsofti lahendusi on Eestis ka edukalt rakendatud.&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Välja toodud  piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt algavadki identiteedihalduse süsteemid just standardlahendustest ning hiljem laienevad erilahendustele. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud.&lt;br /&gt;
&lt;br /&gt;
Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele.&lt;br /&gt;
&lt;br /&gt;
Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks. Siiski ei tasu end rahanumbritel hirmutada lasta, sest tasuvusaeg võib olla vägagi kiire.&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44318</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44318"/>
		<updated>2011-12-11T19:26:11Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Enimlevinud identiteedihalduse tarkvarad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&#039;&#039;Identity Management&#039;&#039; ehk identiteedihaldus on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (&#039;&#039;metabase&#039;&#039;, &#039;&#039;meta-directory&#039;&#039;). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi &#039;&#039;trigger&#039;&#039;, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
==Tüüpiline tööolukord==&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse. Näide on lihtsustatud, kuid kajastab tüüpilist töömehhanismi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstsenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd.&lt;br /&gt;
&lt;br /&gt;
Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla &#039;&#039;multi-value&#039;&#039; (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises &#039;&#039;single-value&#039;&#039;. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimine==&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
===Paroolide sünkroonimise turvarisk===&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
==Sünkroonimine erisused==&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
Tüüpiline näide on kasutajanimede olukord. Tihti kasutatakse Active Directory&#039;s kasutajanimekuju eesnimi.perekonnanimi. Teisalt on SQL&#039;is punkt eraldaja ning eDirectory&#039;s märgib see kasutaja konteksti (asukohta kataloogipuus). Identiteedihaldus võib seda lahendada mitut moodi. Ühel juhul võidakse kasutajanime muuta süsteemiga sobivaks, näiteks eemaldades punkti või asendadades selle teise märgiga. Teisel juhul võidakse see jätta samaks ning kasutada SQL&#039;is või eDirectory&#039;s erimärgi &#039;&#039;escape&#039;&#039;mist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
*Novell Identity Management&lt;br /&gt;
*Microsoft Forefront Identity Management&lt;br /&gt;
*IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
Erinevate tarkvarade vahel ei ole funktsionaalsuselt erilisi vahesid, pigem on vahe tehnilises lahenduses.&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Välja toodud  piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt algavadki identiteedihalduse süsteemid just standardlahendustest ning hiljem laienevad erilahendustele. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud.&lt;br /&gt;
&lt;br /&gt;
Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele.&lt;br /&gt;
&lt;br /&gt;
Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks. Siiski ei tasu end rahanumbritel hirmutada lasta, sest tasuvusaeg võib olla vägagi kiire.&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44317</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44317"/>
		<updated>2011-12-11T19:24:31Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Identiteedihaldussüsteemide kitsas- ja keerukuskohad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&#039;&#039;Identity Management&#039;&#039; ehk identiteedihaldus on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (&#039;&#039;metabase&#039;&#039;, &#039;&#039;meta-directory&#039;&#039;). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi &#039;&#039;trigger&#039;&#039;, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
==Tüüpiline tööolukord==&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse. Näide on lihtsustatud, kuid kajastab tüüpilist töömehhanismi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstsenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd.&lt;br /&gt;
&lt;br /&gt;
Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla &#039;&#039;multi-value&#039;&#039; (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises &#039;&#039;single-value&#039;&#039;. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimine==&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
===Paroolide sünkroonimise turvarisk===&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
==Sünkroonimine erisused==&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
Tüüpiline näide on kasutajanimede olukord. Tihti kasutatakse Active Directory&#039;s kasutajanimekuju eesnimi.perekonnanimi. Teisalt on SQL&#039;is punkt eraldaja ning eDirectory&#039;s märgib see kasutaja konteksti (asukohta kataloogipuus). Identiteedihaldus võib seda lahendada mitut moodi. Ühel juhul võidakse kasutajanime muuta süsteemiga sobivaks, näiteks eemaldades punkti või asendadades selle teise märgiga. Teisel juhul võidakse see jätta samaks ning kasutada SQL&#039;is või eDirectory&#039;s erimärgi &#039;&#039;escape&#039;&#039;mist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
*Novell Identity Management&lt;br /&gt;
*Microsoft Forefront Identity Management&lt;br /&gt;
*IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Välja toodud  piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt algavadki identiteedihalduse süsteemid just standardlahendustest ning hiljem laienevad erilahendustele. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud.&lt;br /&gt;
&lt;br /&gt;
Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele.&lt;br /&gt;
&lt;br /&gt;
Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks. Siiski ei tasu end rahanumbritel hirmutada lasta, sest tasuvusaeg võib olla vägagi kiire.&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44316</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44316"/>
		<updated>2011-12-11T19:20:25Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&#039;&#039;Identity Management&#039;&#039; ehk identiteedihaldus on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (&#039;&#039;metabase&#039;&#039;, &#039;&#039;meta-directory&#039;&#039;). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi &#039;&#039;trigger&#039;&#039;, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
==Tüüpiline tööolukord==&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse. Näide on lihtsustatud, kuid kajastab tüüpilist töömehhanismi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstsenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd.&lt;br /&gt;
&lt;br /&gt;
Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimine==&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
===Paroolide sünkroonimise turvarisk===&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
==Sünkroonimine erisused==&lt;br /&gt;
&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
*Novell Identity Management&lt;br /&gt;
*Microsoft Forefront Identity Management&lt;br /&gt;
*IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Välja toodud  piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt algavadki identiteedihalduse süsteemid just standardlahendustest ning hiljem laienevad erilahendustele. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud.&lt;br /&gt;
&lt;br /&gt;
Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele.&lt;br /&gt;
&lt;br /&gt;
Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks. Siiski ei tasu end rahanumbritel hirmutada lasta, sest tasuvusaeg võib olla vägagi kiire.&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44315</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44315"/>
		<updated>2011-12-11T19:20:09Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&#039;&#039;Identity Management&#039;&#039; ehk identiteedihaldus on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (&#039;&#039;metabase&#039;&#039;, &#039;&#039;meta-directory&#039;&#039;). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi &#039;&#039;trigger&#039;&#039;, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
==Tüüpiline tööolukord==&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse. Näide on lihtsustatud, kuid kajastab tüüpilist töömehhanismi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstsenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd. Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimine==&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
===Paroolide sünkroonimise turvarisk===&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
==Sünkroonimine erisused==&lt;br /&gt;
&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
*Novell Identity Management&lt;br /&gt;
*Microsoft Forefront Identity Management&lt;br /&gt;
*IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Välja toodud  piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt algavadki identiteedihalduse süsteemid just standardlahendustest ning hiljem laienevad erilahendustele. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud.&lt;br /&gt;
&lt;br /&gt;
Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele.&lt;br /&gt;
&lt;br /&gt;
Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks. Siiski ei tasu end rahanumbritel hirmutada lasta, sest tasuvusaeg võib olla vägagi kiire.&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44314</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44314"/>
		<updated>2011-12-11T19:19:01Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&#039;&#039;Identity Management&#039;&#039; ehk identiteedihaldus on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (&#039;&#039;metabase&#039;&#039;, &#039;&#039;meta-directory&#039;&#039;). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi &#039;&#039;trigger&#039;&#039;, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
==Tüüpiline tööolukord==&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse. Näide on lihtsustatud, kuid kajastab tüüpilist töömehhanismi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd. Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimine==&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
===Paroolide sünkroonimise turvarisk===&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
==Sünkroonimine erisused==&lt;br /&gt;
&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
*Novell Identity Management&lt;br /&gt;
*Microsoft Forefront Identity Management&lt;br /&gt;
*IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Välja toodud  piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt algavadki identiteedihalduse süsteemid just standardlahendustest ning hiljem laienevad erilahendustele. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud.&lt;br /&gt;
&lt;br /&gt;
Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele.&lt;br /&gt;
&lt;br /&gt;
Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks. Siiski ei tasu end rahanumbritel hirmutada lasta, sest tasuvusaeg võib olla vägagi kiire.&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44313</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44313"/>
		<updated>2011-12-11T19:16:06Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Enimlevinud identiteedihalduse tarkvarad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&#039;&#039;Identity Management&#039;&#039; ehk identiteedihaldus on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (&#039;&#039;metabase&#039;&#039;, &#039;&#039;meta-directory&#039;&#039;). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi &#039;&#039;trigger&#039;&#039;, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
==Tüüpiline tööolukord==&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse. Näide on lihtsustatud, kuid kajastab tüüpilist töömehhanismi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd. Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimine==&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
===Paroolide sünkroonimise turvarisk===&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
==Sünkroonimine erisused==&lt;br /&gt;
&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
*Novell Identity Management&lt;br /&gt;
*Microsoft Forefront Identity Management&lt;br /&gt;
*IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Sellised piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt ongi erilahendused just täpselt see, milleks identiteedihaldust enim vaja on. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud. Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele. Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks ning&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44312</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44312"/>
		<updated>2011-12-11T19:15:26Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&#039;&#039;Identity Management&#039;&#039; ehk identiteedihaldus on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (&#039;&#039;metabase&#039;&#039;, &#039;&#039;meta-directory&#039;&#039;). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi &#039;&#039;trigger&#039;&#039;, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
==Tüüpiline tööolukord==&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse. Näide on lihtsustatud, kuid kajastab tüüpilist töömehhanismi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd. Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimine==&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
===Paroolide sünkroonimise turvarisk===&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
==Sünkroonimine erisused==&lt;br /&gt;
&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
•	Novell Identity Management&lt;br /&gt;
•	Microsoft Forefront Identity Management&lt;br /&gt;
•	IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Sellised piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt ongi erilahendused just täpselt see, milleks identiteedihaldust enim vaja on. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud. Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele. Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks ning&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44311</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44311"/>
		<updated>2011-12-11T19:14:57Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&#039;&#039;Identity Management&#039;&#039; ehk identiteedihaldus on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (&#039;&#039;metabase&#039;&#039;, &#039;&#039;meta-directory&#039;&#039;). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi &#039;&#039;trigger&#039;&#039;, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
==Tüüpiline tööolukord==&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse. Näide on lihtsustatud, kuid kajastab tüüpilist töömehhanismi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd. Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimine==&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
===Paroolide sünkroonimise turvarisk===&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
==Sünkroonimine erisused==&lt;br /&gt;
&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
•	Novell Identity Management&lt;br /&gt;
•	Microsoft Forefront Identity Management&lt;br /&gt;
•	IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Sellised piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt ongi erilahendused just täpselt see, milleks identiteedihaldust enim vaja on. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud. Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele. Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks ning&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44310</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44310"/>
		<updated>2011-12-11T19:12:36Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Tüüpiline tööolukord */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&#039;&#039;Identity Management&#039;&#039; ehk identiteedihaldus on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (&#039;&#039;metabase&#039;&#039;, &#039;&#039;meta-directory&#039;&#039;). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi &#039;&#039;trigger&#039;&#039;, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Tüüpiline tööolukord=&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse. Näide on lihtsustatud, kuid kajastab tüüpilist töömehhanismi.&lt;br /&gt;
&lt;br /&gt;
=Paroolide sünkroonimine=&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimise turvarisk==&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd. Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
•	Novell Identity Management&lt;br /&gt;
•	Microsoft Forefront Identity Management&lt;br /&gt;
•	IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Sellised piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt ongi erilahendused just täpselt see, milleks identiteedihaldust enim vaja on. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud. Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele. Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks ning&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44309</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44309"/>
		<updated>2011-12-11T19:11:40Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
&#039;&#039;Identity Management&#039;&#039; ehk identiteedihaldus on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (&#039;&#039;metabase&#039;&#039;, &#039;&#039;meta-directory&#039;&#039;). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi &#039;&#039;trigger&#039;&#039;, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Tüüpiline tööolukord=&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse.&lt;br /&gt;
&lt;br /&gt;
=Paroolide sünkroonimine=&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimise turvarisk==&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd. Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
•	Novell Identity Management&lt;br /&gt;
•	Microsoft Forefront Identity Management&lt;br /&gt;
•	IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Sellised piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt ongi erilahendused just täpselt see, milleks identiteedihaldust enim vaja on. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud. Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele. Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks ning&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44308</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44308"/>
		<updated>2011-12-11T19:11:08Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Identiteedihalduse töömehhanism */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Identity Management (identiteedihaldus) on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (&#039;&#039;metabase&#039;&#039;, &#039;&#039;meta-directory&#039;&#039;). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi &#039;&#039;trigger&#039;&#039;, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Tüüpiline tööolukord=&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse.&lt;br /&gt;
&lt;br /&gt;
=Paroolide sünkroonimine=&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimise turvarisk==&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd. Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
•	Novell Identity Management&lt;br /&gt;
•	Microsoft Forefront Identity Management&lt;br /&gt;
•	IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Sellised piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt ongi erilahendused just täpselt see, milleks identiteedihaldust enim vaja on. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud. Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele. Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks ning&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44307</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44307"/>
		<updated>2011-12-11T19:09:04Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Identiteedihalduse koht reaalsetes infosüsteemides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Identity Management (identiteedihaldus) on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks võib infosüsteemil puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (metabase, meta-directory). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi triger, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Tüüpiline tööolukord=&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse.&lt;br /&gt;
&lt;br /&gt;
=Paroolide sünkroonimine=&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimise turvarisk==&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd. Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
•	Novell Identity Management&lt;br /&gt;
•	Microsoft Forefront Identity Management&lt;br /&gt;
•	IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Sellised piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt ongi erilahendused just täpselt see, milleks identiteedihaldust enim vaja on. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud. Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele. Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks ning&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44306</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44306"/>
		<updated>2011-12-11T19:08:10Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Identity Management (identiteedihaldus) on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms. Ei tasu lasta end petta sõnast &amp;quot;identiteet&amp;quot; - identiteedihaldus võib siduda suvaliste olemite seoseid, mitte ainult inimeste, nagu &amp;quot;identiteet&amp;quot; lubaks arvata.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks on võib infosüsteemid puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (metabase, meta-directory). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi triger, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Tüüpiline tööolukord=&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse.&lt;br /&gt;
&lt;br /&gt;
=Paroolide sünkroonimine=&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimise turvarisk==&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd. Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
•	Novell Identity Management&lt;br /&gt;
•	Microsoft Forefront Identity Management&lt;br /&gt;
•	IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Sellised piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt ongi erilahendused just täpselt see, milleks identiteedihaldust enim vaja on. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud. Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele. Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks ning&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44305</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44305"/>
		<updated>2011-12-11T19:06:57Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Sissejuhatus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Identity Management (identiteedihaldus) on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse koht reaalsetes infosüsteemides=&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks on võib infosüsteemid puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihaldus kataloogisüsteemide liidestamisel=&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
=Identiteedihalduse töömehhanism=&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest ning erinevad atribuudid. Seda nimetatakse metabaasiks (metabase, meta-directory). Väärib märkimist, et metabaas ei sisalda otsest infot olemite kohta (näiteks nime, numbreid vms), vaid infot identiteetide ja atribuutide seostamiseks. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi triger, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
=Tüüpiline tööolukord=&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse.&lt;br /&gt;
&lt;br /&gt;
=Paroolide sünkroonimine=&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
==Paroolide sünkroonimise turvarisk==&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium süsteemidest, mis ei toeta väliseid identiteete=&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
=Kasutusstsenaarium tihedalt seotud andmetega sisusüsteemides=&lt;br /&gt;
Kolmas näidisstenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd. Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
*Erinevad kataloogiteenused&lt;br /&gt;
*Erinevad andmebaasimootorid&lt;br /&gt;
*Läbipääsusüsteemid&lt;br /&gt;
*Andmebaaside sisuosad&lt;br /&gt;
*Dokumendihaldussüsteemid&lt;br /&gt;
*Muud eriotstarbelised infosüsteemid&lt;br /&gt;
=Identiteedihaldussüsteemide kitsas- ja keerukuskohad=&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
&lt;br /&gt;
=Enimlevinud identiteedihalduse tarkvarad=&lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
•	Novell Identity Management&lt;br /&gt;
•	Microsoft Forefront Identity Management&lt;br /&gt;
•	IBM Tivoli Identity Manager&lt;br /&gt;
&lt;br /&gt;
=Muud identiteedihalduse lahendused=&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimesest ning lubab muuta nendes korraga andmeid. Väikese modifikatsioonina võib see kolmas süsteem ka just andmeid sünkroonida. Kui veidi järele mõelda, oleme leiutanud uuesti ratta ehk siis identiteedihaldussüsteemi.&lt;br /&gt;
&lt;br /&gt;
=Kokkuvõte=&lt;br /&gt;
Sellised piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt ongi erilahendused just täpselt see, milleks identiteedihaldust enim vaja on. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud. Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele. Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks ning&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44302</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44302"/>
		<updated>2011-12-11T18:55:44Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Identity Management (identiteedihaldus) on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms.&lt;br /&gt;
&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks on võib infosüsteemid puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi triger, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse.&lt;br /&gt;
&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
&lt;br /&gt;
Kolmas näidisstenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd. Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
•	Erinevad kataloogiteenused&lt;br /&gt;
•	Erinevad andmebaasimootorid&lt;br /&gt;
•	Läbipääsusüsteemid&lt;br /&gt;
•	Andmebaaside sisuosad&lt;br /&gt;
•	Dokumendihaldussüsteemid&lt;br /&gt;
•	Muud eriotstarbelised infosüsteemid&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
Sellised piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt ongi erilahendused just täpselt see, milleks identiteedihaldust enim vaja on. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud. Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele. Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks ning &lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
•	Novell Identity Management&lt;br /&gt;
•	Microsoft Forefront Identity Management&lt;br /&gt;
•	IBM Tivoli Identity Manager&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimeset ning lubab muuta nendes korraga andmeid. Selliste süsteemide ehitamine on samuti ajamahukas (samuti raha neelav) ning tekitab küsimuse – miks mitte kasutada standardtarkvara?&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44301</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=44301"/>
		<updated>2011-12-11T18:55:02Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;br /&gt;
&lt;br /&gt;
11.12.2011 - POOLELI&lt;br /&gt;
Identity Management (identiteedihaldus) on teenus, mis tegeleb olemite sidumisega erinevates süsteemides olevate identiteetidega ja identiteetide erinevate atribuutidega. Olemid on tüüpiliselt inimesed, arvutid, hooned jms. Identiteedid on tüüpiliselt inimeste või arvutite kasutajakontod, hoonete kirjed registrites vms. Atribuudid on näiteks inimese nimi või telefoninumber, arvuti seerianumber, hoone aadress vms.&lt;br /&gt;
Ideaalses maailmas on kõik olemit kirjeldavad andmed kirjeldatud ühes keskses süsteemis, millest ülejäänud süsteemid andmed kätte saavad. Praktilises maailmas on paraku mitmeid infosüsteeme, mis sisaldavad sarnast või kattuvat infot. Võivad puududa ka tehnilised võimalused või otstarbekus koondada andmed ühte süsteemi. Näiteks on võib infosüsteemid puududa võimekus viidata välistele andmetele või on vastav funktsionaalsus väga kallis või töömahukas. Kuna andmed ajas muutuvad, muutub üha keerulisemaks hoida andmeid eri süsteemide vahel ajakohasena. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
Tüüpilised näited on näiteks erinevate kataloogiteenuste (LDAP põhised süsteemid) liidestamine. Näiteks on asutuses kasutuses Novell eDirectory, kuid ärivajadused nõuavad kõrvale Microsoft Active Directory püstitamist. Inimesed vajavad kasutajakontosid mõlemasse süsteemi, kuid kataloogide vahel andmete ajakohasena hoidmine on probleemne. Abiellumise puhul vahetatakse nime, muutuvad telefoninumbrid ja e-posti aadressid, vahetatakse paroole. Käsitsi sellise info haldamine on äärmiselt töömahukas. Siin tulevadki mängu identiteedihalduse tooted.&lt;br /&gt;
Tüüpiliselt on identiteedihalduse tarkvara südameks andmebaas, mis seostab kasutajakontod erinevatest infosüsteemidest. Iga infosüsteemi juures on vahend (agenttarkvara, andmebaasi triger, spetsiaalne klienttarkvara vms.) jälgimaks muudatusi. Kui toimub infosüsteemis muudatus, teavitatakse identiteedihalduse keskset andmebaasi, mis edastab tehtud muudatused teistesse infosüsteemidesse.&lt;br /&gt;
Näiteks eDirectorys muudetakse kasutaja telefoninumbrit. eDirectory kataloogi jälgiv agent edastab muudatuse teavituse identiteedihalduse andmebaasi, mis omakorda edastab muudatuse teistesse seotud infosüsteemidesse, siinkohal Active Directory’sse.&lt;br /&gt;
Kõige keerulisem on üldjuhul sünkroonida paroole. Paroole salvestatakse infosüsteemides üldjuhul räsina ning olemasolevat parooli teada ei saa. Samuti kasutavad infosüsteemid erinevaid tüüpi räsisid ning lihtne räsi kopeerimine ühest süsteemist teise ei toimi.&lt;br /&gt;
Õnneks on üldjuhul paroolivahetuse ajal mingi aja parool saadav ka avatekstina. Seda näiteks selleks, et võrrelda parooli paroolipoliitika nõudmistega või rakendada sellele räsifunktsiooni. On olemas ka liidesed parooli teadasaamiseks (enamik kataloogisüsteeme) paroolivahetuse hetkel. Samas on ka süsteeme, kust on tehniliselt võimatu vastavate liideste puudumisel parooli kätte saada (näiteks Lotus Domino). Selliste süsteemide puhul tuleb paroole vahetada mõnes muus infosüsteemis või spetsiaalses identiteedihalduse liideses, mis edastab uue parooli teistele infosüsteemidele.&lt;br /&gt;
See võib osutuda ka turvariskiks, kuna parooli on identiteedihalduse andmebaasi ja teiste infosüsteemide vahel tarvis transportida avatekstina. Selle tõttu on väga oluline kasutada turvatud kanaleid (näiteks TLS või IPSec tunneleid).&lt;br /&gt;
Teine näidisstsenaarium on MySQL andmebaasimootor, mis ei toeta erinevalt teistest suurematest mootoritest (Oracle, Microsoft SQL, IBM DB2) ei toeta väliseid kasutajakontosid (näiteks üle LDAP liidese). Ärivajadustest sõltuvalt võib siiski olla tarvis kasutada MySQL puhul väliseid kasutajakontosid. Identiteedihalduse süsteem võimaldab seda kaudselt, luues andmebaasi kasutajakontod ning hoides nende info sünkroonis muude infosüsteemidega.&lt;br /&gt;
Seda stsenaariumi võib laiendada ka tüüpnäitena operatsioonisüsteemidele, mis mingil põhjusel pole seotud mõne kataloogisüsteemiga. Näiteks rangete turvanõuete tõttu ei ole Linuxi veebiserver seotud kataloogiteenusena, kuid on tarvis sinna luua mõned kontod, mis peaksid olema samad muude süsteemidega. Identiteedihaldus võimaldab seda teha sarnaselt MySQL näitena.&lt;br /&gt;
Kolmas näidisstenaarium on raamatupidamise andmebaasi ajakohasena hoidmine. Erinevalt eelmistest näidetest ei ole siin tarvis sünkroonida kasutajakontosid, vaid olemite atribuute. Näiteks on raamatupidamise süsteemis alati sünkroonitud kasutaja üldandmed, temaga seotud teised olemid (kasutada antud vahendid, näiteks arvuti või auto) ning nende olemite olulised andmed (arvuti füüsiline asukoht asutuses, mis pärineb varahalduse süsteemist või auto läbisõit, mis pärineb GPS jälgimise infosüsteemist).&lt;br /&gt;
Sellise tihedalt seotud süsteemi loomine on võimalik, kuid erinevalt esimesest kahest näitest palju keerulisem. Esimesed näited kirjeldasid väga tüüpilisi standardstsenaariumeid, millega tulevad identiteedihaldused toime väga lihtsalt, viimane on aga erilahendus, mis võib nõuda palju rohkem arendustööd. Tüüpiliselt sarnanevadki identiteedihalduse juurutused kolmanda stsenaariumiga, kus seotakse kokku palju erinevaid infosüsteeme, näiteks:&lt;br /&gt;
•	Erinevad kataloogiteenused&lt;br /&gt;
•	Erinevad andmebaasimootorid&lt;br /&gt;
•	Läbipääsusüsteemid&lt;br /&gt;
•	Andmebaaside sisuosad&lt;br /&gt;
•	Dokumendihaldussüsteemid&lt;br /&gt;
•	Muud eriotstarbelised infosüsteemid&lt;br /&gt;
Identiteedihaldussüsteem peab arvestama ka erinevate süsteemide piirangutega. Näiteks võib ühes kataloogisüsteemis mõni atribuut olla multi-value (näiteks võib kasutaja olla mitu telefoninumbrit), kuid teises single-value. Samuti lisab keerukust erinevate süsteemide poliitikad. Näiteks, kui parooli sünkroonimisel on sihtsüsteemis paroolipoliitika, mis keelab lihtsad paroolid, võib parooli sünkroonimine ebaõnnestuda. Probleemiks võivad osutuda ka nii lihtsad asjad kui täpitähed või erimärgid, Unicode’st rääkimata.&lt;br /&gt;
Võib olla vajalik ma teatud muudatusi ignoreerida, käigu pealt transformeerida või ühe infosüsteemi muutmisel teisest andmed kustutada. Näiteks on ei tohi Linuxi veebiserveris saada parooli muuta. Kui ründaja saab ligipääsu serverile ning üritab mõne muu süsteemida liidestatud kasutaja parooli muuta, ei tohi see olla võimalik. Vastasel juhul võib ründaja saada ligipääsu teistelegi süsteemidele, mis muidu poleks võimalik (kui on salvestatud vaid räsi). Transformeerida on tarvis andmeid näiteks erinevates regioonis olevate süsteemide vahel. Näiteks kasutatakse USA’s ja Euroopas erinevat kümnenderaldajat, mis võib valesti kasutamisel tekitada raamatupidamises probleeme. Kustutada võib olla tarvis näiteks töötaja liikumisesl ühest hoonest teise, mille järel kustutakse kasutaja andmed läbipääsusüsteemist.&lt;br /&gt;
Sellised piirangud ja nõuded muudavad identiteedihalduse reaalse ülesseadmise väljaspool standardseid lahendusi väga keeruliseks. Teisalt ongi erilahendused just täpselt see, milleks identiteedihaldust enim vaja on. Tehniliselt ei ole selline töö enamasti probleem, kuna pakutavad lahendused on väga paindlikud. Skaala teises otsas on tohutu käsitsitöö, mis suuremas asutuses ja kogukamates infosüsteemides toob kaasa otseselt mõõdetava suure tööjõukulu. Samuti kipuvad inimesed tegema vigu ning unustama, mis suunab fookuse jällegi automaatsüsteemidele. Samas ei ole siiski tegemist võluvitsaga, mis kõik haldus-, audentimise- ja sisuprobleemid lahendab. Identiteedihalduse tarkvarad on üldjuhul ka üsna kallid, mis eriti esmasel juurutamisel viib kulud väga kõrgeks ning &lt;br /&gt;
Enimlevinud identiteedihalduse tarkvarad on:&lt;br /&gt;
•	Novell Identity Management&lt;br /&gt;
•	Microsoft Forefront Identity Management&lt;br /&gt;
•	IBM Tivoli Identity Manager&lt;br /&gt;
Ka teisi infosüsteeme liidestavaid süsteeme võib käsitleda identiteedihaldussüsteemidena. Üks suuremaid Eesti-siseseid süsteeme on X-tee. Kuigi selle primaarne eesmärk on lubada turvalisi päringuid erinevate registrite ja andmekogude vahel, kasutatakse seda ka erinevate andmekogude andmete sünkroonimisel.&lt;br /&gt;
Iseehitatud liidesed ja süsteemid kvalifitseeruvad samuti identideedihalduse lihtsamate variantidena. Näiteks on sageli kasutuses iseehitatud paroolivahetusveeb, mis muudab parooli mitmetes infosüsteemides korraga. Teine lahendus on „kolmas“ infosüsteem, mis esitab andmeid kahest esimeset ning lubab muuta nendes korraga andmeid. Selliste süsteemide ehitamine on samuti ajamahukas (samuti raha neelav) ning tekitab küsimuse – miks mitte kasutada standardtarkvara?&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=41390</id>
		<title>Identity Management</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Identity_Management&amp;diff=41390"/>
		<updated>2011-11-05T10:22:29Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: Created page with &amp;#039;Autor: Mihkel Soomere (AK41).&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Autor: Mihkel Soomere (AK41).&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Operatsioonis%C3%BCsteemide_referaadid_2011_S%C3%BCgis&amp;diff=41382</id>
		<title>Operatsioonisüsteemide referaadid 2011 Sügis</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Operatsioonis%C3%BCsteemide_referaadid_2011_S%C3%BCgis&amp;diff=41382"/>
		<updated>2011-11-05T10:04:08Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Kaugõpe */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
=Päevaõpe=&lt;br /&gt;
==Raido Aarop A21==&lt;br /&gt;
&lt;br /&gt;
==Sander Arnus A22==						&lt;br /&gt;
==Kullo-Kalev Aru A21==						&lt;br /&gt;
==Kalju Hõbemäe A22==							&lt;br /&gt;
==Carolys Kallas A22==						&lt;br /&gt;
==Kristo Kapten A22==						&lt;br /&gt;
==Nele Kiigemägi A21==						&lt;br /&gt;
==Kersti Lang A21==					&lt;br /&gt;
==Rauno Lehiste A22==						&lt;br /&gt;
==Urmo Lihten A21==						&lt;br /&gt;
==Tambet Liiv A22==						&lt;br /&gt;
==Iti Liivik A22==						&lt;br /&gt;
==Priit Lilleleht A21==						&lt;br /&gt;
==Oliver Naaris A21==						&lt;br /&gt;
==Kairo Ostapenko A41==							&lt;br /&gt;
==Kermo Pajula A22==						&lt;br /&gt;
==Kristjan Pajumaa A32==							&lt;br /&gt;
==Andres Pihlak A22==						&lt;br /&gt;
==Robert Pärn A21	==					&lt;br /&gt;
==Inger Romanenko A31==						&lt;br /&gt;
==Gertti-Vena Rätsep A21==						&lt;br /&gt;
==Lauri Rüütli A21==						&lt;br /&gt;
==Teet Saar A22==						&lt;br /&gt;
==Heiki Saaver A31==						&lt;br /&gt;
==Taavi Sannik A21==						&lt;br /&gt;
==Sander Saveli A22==						&lt;br /&gt;
==Rene Sepp A31==						&lt;br /&gt;
==Aare Song A22==							&lt;br /&gt;
==Tarmo Suurmägi A21==						&lt;br /&gt;
==Taavi Zeiger A21==						&lt;br /&gt;
==Ott Telga A22==						&lt;br /&gt;
==Raigo Trei A21==						&lt;br /&gt;
==Robert Vane A21==&lt;br /&gt;
&lt;br /&gt;
=Kaugõpe=&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
==Risto Bristol AK31==&lt;br /&gt;
&lt;br /&gt;
==Andrus Dei AK31==						&lt;br /&gt;
==Aive Haavel AK21==&lt;br /&gt;
==Jüri Kalbin AK21==				&lt;br /&gt;
==Meelis Kurnikov AK21==&lt;br /&gt;
==Erki Marmor AK11==&lt;br /&gt;
[[DHCP teenus Ubuntu Server süsteemis]] - Teema uuendamine + leitud vigade parandamine&lt;br /&gt;
&lt;br /&gt;
==Klaid Mägi AK21==&lt;br /&gt;
[[FreeBSD upgrade]]&lt;br /&gt;
&lt;br /&gt;
==Rünno Reinu AK31== 						 &lt;br /&gt;
&lt;br /&gt;
Rünno hindab teiste töid.&lt;br /&gt;
&lt;br /&gt;
==Taavo Siimer AK41==&lt;br /&gt;
&lt;br /&gt;
[[Softi RAID Ubuntu baasil.]]&lt;br /&gt;
[[Category: Operatsioonisüsteemide administreerimine ja sidumine ]]&lt;br /&gt;
&lt;br /&gt;
==Mihkel Soomere AK41==&lt;br /&gt;
[[Identity Management]]&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Windows_Server_administreerimine_ainekaart&amp;diff=11207</id>
		<title>Windows Server administreerimine ainekaart</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Windows_Server_administreerimine_ainekaart&amp;diff=11207"/>
		<updated>2010-06-01T08:49:22Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: /* Windows Server võrguteenused */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Windows server administreerimine =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Eesmärk ==&lt;br /&gt;
Õppeaine eesmärk on tutvustada Windows Server operatsioonisüsteemil baseeruvate serverite paigaldust, haldamist ja turvamist, õppeaine arendab õppija administreerimisoskuseid ning teadmisi serveritel kasutatavatest operatsioonisüsteemidest.&lt;br /&gt;
&lt;br /&gt;
== Lühitutvustus ==&lt;br /&gt;
Õppeaines käsitletakse Windows Server operatsioonisüsteemil baseeruvate serverite paigaldust, haldamist, turvamist ning veaotsingut. Pikemalt vaadeldakse Windows Serveri teenuseid, mis on seotud hulgipaigalduse, võrgu infrastruktuuri ning Active Directoryiga.&lt;br /&gt;
&lt;br /&gt;
== Õpiväljundid == &lt;br /&gt;
 * Õppija oskab teostada Windows Server tarkvaratoote paigaldust.&lt;br /&gt;
 * Õppija teab ning oskab nimetada Windows Serveri peamised rollid ning selgitada nende ülesandeid.&lt;br /&gt;
 * Õppija oskab paigaldada Windows Server&#039;ile AD DS, DHCP, DNS ning failiserveri rolle ning neid lihtsamatel juhtudel seadistada.&lt;br /&gt;
 * Õppija oskab hallata kasutajaid ning kasutajate gruppe ning rakendada grupipoliitikaid.&lt;br /&gt;
 * Õppija oskab teostada lihtsamatel juhtudel tagavarakoopiaid ning tagavarakoopiate abil rikenud andmeid taastada.&lt;br /&gt;
&lt;br /&gt;
== Hinnde kujunemise selgitus ==&lt;br /&gt;
Kontrolltöö on planeeritud pärast kindla teemade ploki läbimist, mis sisaldab mitu sarnast või omavahel seotud teemat. &lt;br /&gt;
Semestri jooksul on 2 kontrolltööd, iga kontrolltöö eest saadud hinne määrab  25% ulatuses arvestuse lõpphindehinde ning 50% hindest moodustab iseseisva tööna valminud juhend. Arvestushinde saamise eelduseks on läbitud e-kursuste komplekt &amp;quot;6424: Fundamentals of Windows Server 2008 Active Directory&amp;quot;. [[Juhend Microsoft IT Academy e-õppe kursuste kasutamiseks]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Kontrolltöö koosneb valikvastustega küsimustest. Küsimused koostatakse läbitud materjali alusel. Praktilised ülesandeid koostatakse praktika tundides käsitletud ülesannete alusel. &lt;br /&gt;
Minimaalselt on nõutav mõlemas kontrolltöös õigete vastuste hulk vähemalt 51%.  &lt;br /&gt;
&lt;br /&gt;
Iseseisva tööna koostatav juhend või ülevaade tuleb majutada aadressile http://wiki.itcollege.ee ning töö hindamisel arvestatakse eelkõige teema käsitlemise põhjalikkust, asjakohasust ning praktilist rakendatavust.&lt;br /&gt;
&lt;br /&gt;
= Teemad =&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus (esimene kohtumine)==&lt;br /&gt;
*Windows Server tooteperekonna tutvustus&lt;br /&gt;
* Erinevad [[Windows Server versioonid]]&lt;br /&gt;
** [[Windows Server Core]]&lt;br /&gt;
** [[Hyper-V Server]]&lt;br /&gt;
* Miinumumnõuded&lt;br /&gt;
* [[Serveri rollid]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Teemad===&lt;br /&gt;
[[Windows Server versioonid]], [[Serveri rollid]], [[Windows Server Core]], [[Windows Server 2008]], [[Windows Server]], [[Hyper-V Server]]&lt;br /&gt;
&lt;br /&gt;
==Windows Server paigaldus (teine ja kolmas kohtumine)==&lt;br /&gt;
* [[Windows Serveri paigaldus erinevatelt meediatelt]]&lt;br /&gt;
** [[Lab: Windows Serveri paigaldus paigalusmeedialt]]&lt;br /&gt;
* Tootevõtemete haldus ja [[Aktiveerimine|aktiveerimine]]&lt;br /&gt;
* [[Windows operatsioonisüsteemi automaatpaigaldus]]&lt;br /&gt;
** [[Windows Deployment Services]]&lt;br /&gt;
* Rollide seadistamine&lt;br /&gt;
**[[Lab: Windows Deployment Services rolli paigaldus ja seadistamine]]&lt;br /&gt;
&lt;br /&gt;
===Teemad===&lt;br /&gt;
[[Aktiveerimine]], [[Windows operatsioonisüsteemi automaatpaigaldus]], [[Windows Deployment Services]]&lt;br /&gt;
&lt;br /&gt;
==Administreerimisvahendid (neljas kohtumine)==&lt;br /&gt;
* Ülevaade haldusvahenditest&lt;br /&gt;
** Kaughaldus ja selle häälestamine&lt;br /&gt;
*** [[Võrguühenduste seadistamine Windows operatioonissteemis]] ja [[Remote Desktop]]&lt;br /&gt;
**** [[ipconfig]], [[netsh]]&lt;br /&gt;
*** Remote Server Administration Tools for Windows 7 http://technet.microsoft.com/en-us/library/ee449475(WS.10).aspx&lt;br /&gt;
*** Enabling a Remote Workforce http://technet.microsoft.com/et-ee/windowsserver/cc441386(en-us).aspx&lt;br /&gt;
*** Server Core Remote Management http://technet.microsoft.com/et-ee/windowsserver/cc441379(en-us).aspx&lt;br /&gt;
*** Lab: [[Windows Server 2008 võrguühenduste seadistamise praktikum]]&lt;br /&gt;
*** Lab: [[Windows Server 2008 kaughalduse seadistamise praktikum]]&lt;br /&gt;
** Ressursside haldamiseks mõeldud vahendid http://technet.microsoft.com/et-ee/windowsserver/ee895113(en-us).aspx&lt;br /&gt;
*** Performance and Reliability http://technet.microsoft.com/en-us/library/cc770309(WS.10).aspx&lt;br /&gt;
*** Windows Server 2008 R2 Quick Look- System Health Report&lt;br /&gt;
**** [[Reliability Monitor]], [[Resource Monitor]], [[Performance Monitor]], [[Data Collector Sets]], [[Task Manager]], [[Windows System Resource Manager]]&lt;br /&gt;
&lt;br /&gt;
===Teemad===&lt;br /&gt;
[[Võrguühenduste seadistamine Windows operatioonissteemis]], [[Server Manager Console]], [[MMC]], [[Windows PowerShell]], [[EMS]], [[Remote Desktop]], [[RSAT Tools]], [[Microsoft System Center Operations Manager]], [[Reliability Monitor]], [[Resource Monitor]], [[Performance Monitor]], [[Data Collector Sets]], [[Task Manager]], [[Windows System Resource Manager]], [[WSUS]]&lt;br /&gt;
&lt;br /&gt;
==Active Directory infrastruktuur(viies kohtumine)==&lt;br /&gt;
*[[Active Directory Domain Services]] roll&lt;br /&gt;
** Active Directory Domain Services for Windows Server 2008 http://technet.microsoft.com/en-us/library/dd378891(WS.10).aspx&lt;br /&gt;
** Active Directory Domain Services for Windows Server 2008 R2 http://technet.microsoft.com/en-us/library/dd378801(WS.10).aspx&lt;br /&gt;
** Active Directory Lightweight Directory Services http://technet.microsoft.com/en-us/library/cc731868(WS.10).aspx&lt;br /&gt;
* Kasutajad ja grupid &lt;br /&gt;
** Managing Users http://technet.microsoft.com/en-us/library/cc754661.aspx&lt;br /&gt;
** Managing Groups http://technet.microsoft.com/en-us/library/cc771069.aspx&lt;br /&gt;
* Arvutite kontod&lt;br /&gt;
** Managing Computers http://technet.microsoft.com/en-us/library/cc771682.aspx&lt;br /&gt;
* Domeenide haldamine&lt;br /&gt;
** Managing Domains http://technet.microsoft.com/en-us/library/cc754751.aspx&lt;br /&gt;
* &#039;&#039;Organizational Units&#039;&#039; haldamine&lt;br /&gt;
** Managing Organizational Units http://technet.microsoft.com/en-us/library/cc753063.aspx&lt;br /&gt;
* Grupipoliitikate rakendamine&lt;br /&gt;
** Group Policy (2008) http://technet.microsoft.com/en-us/library/cc726027(WS.10).aspx&lt;br /&gt;
** Group Policy (2008 R2) http://technet.microsoft.com/en-us/library/cc754286.aspx&lt;br /&gt;
&lt;br /&gt;
===Teemad===&lt;br /&gt;
[[Active Directory Domain Services]], [[Active Directory Lightweight Directory Services]], [[Organizational Unit]]&lt;br /&gt;
&lt;br /&gt;
==Windows Server turvamine (kuues kohtumine)==&lt;br /&gt;
* Logifailid ja Event Viewer&lt;br /&gt;
* Turvapaikade paigaldamine ja haldusvahendid&lt;br /&gt;
** Windows Server Update Services http://technet.microsoft.com/en-us/wsus/default.aspx&lt;br /&gt;
** [[Lab: WSUS 3.0 paigaldus ja seadistamine]]&lt;br /&gt;
* Tulemüür&lt;br /&gt;
** How to use the &amp;quot;netsh advfirewall firewall&amp;quot; context instead of the &amp;quot;netsh firewall&amp;quot; context to control Windows Firewall behavior in Windows Server 2008 and in Windows Vista http://support.microsoft.com/kb/947709&lt;br /&gt;
** TechNet Virtual Lab: Managing Network Security using Windows Firewall with Advanced Security in Windows Server 2008 Beta 3 http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032345256&amp;amp;EventCategory=3&amp;amp;culture=en-US&amp;amp;CountryCode=US&lt;br /&gt;
* Turvapoliitika&lt;br /&gt;
** Windows Server 2008 Security Guide http://technet.microsoft.com/et-ee/library/cc264463(en-us).aspx&lt;br /&gt;
** Server Security Policy Management http://technet.microsoft.com/en-us/library/cc731004(WS.10).aspx&lt;br /&gt;
** [[Security Configuration Wizard]] http://technet.microsoft.com/en-us/library/cc731515(WS.10).aspx&lt;br /&gt;
** [[UAC]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Teemad===&lt;br /&gt;
[[Event Viewer]], [[Windows Server]], [[WSUS]]&lt;br /&gt;
&lt;br /&gt;
==Andmete  haldamine (seitsmes kohtumine)==&lt;br /&gt;
*Failide ja ketaste haldus&lt;br /&gt;
** Ketaste haldus&lt;br /&gt;
*** Disk Management: Welcome http://technet.microsoft.com/en-us/library/cc770943(WS.10).aspx&lt;br /&gt;
*** [[Diskpart]]&lt;br /&gt;
*** How Do I: Modifying Boot Records in Windows Vista and Windows http://technet.microsoft.com/et-ee/windowsserver/dd490734(en-us).aspx&lt;br /&gt;
&lt;br /&gt;
* Failide pääsuõigused&lt;br /&gt;
** File and Folder Permissions http://technet.microsoft.com/en-us/library/cc732880(WS.10).aspx&lt;br /&gt;
*** Managing Permissions http://technet.microsoft.com/en-us/library/cc770962.aspx&lt;br /&gt;
&lt;br /&gt;
* Andmete jagamine &lt;br /&gt;
** Shared Folders http://technet.microsoft.com/en-us/library/cc770406(WS.10).aspx&lt;br /&gt;
*** Managing Permissions for Shared Folders http://technet.microsoft.com/en-us/library/cc753731(WS.10).aspx&lt;br /&gt;
** File Server Resource Manager Step-by-Step Guide for Windows Server 2008 R2 http://technet.microsoft.com/et-ee/library/dd758761(en-us,WS.10).aspx&lt;br /&gt;
** Services for NFS Step-by-Step Guide for Windows Server 2008 R2 http://technet.microsoft.com/et-ee/library/dd758767(en-us,WS.10).aspx&lt;br /&gt;
&lt;br /&gt;
* Tagavarakoopiate loomine ja taaste&lt;br /&gt;
** Windows Server Backup http://technet.microsoft.com/en-us/library/cc770757(WS.10).aspx&lt;br /&gt;
** Shadow Copies of Shared Folders http://technet.microsoft.com/en-us/library/cc771305(WS.10).aspx&lt;br /&gt;
&lt;br /&gt;
* Introducing BranchCache in Windows Server 2008 R2 http://www.microsoft.com/learning/_silverlight/learningsnacks/WS08R2/snack02/Default.html&lt;br /&gt;
&lt;br /&gt;
===Teemad===&lt;br /&gt;
[[Server Backup]], [[Shadow Copy]], [[Icacls]], [[*.VHD]]&lt;br /&gt;
&lt;br /&gt;
==Windows Server võrguteenused==&lt;br /&gt;
* Võrguteenused ja nende haldus&lt;br /&gt;
** DCHP server ja klient, nende seadistamine&lt;br /&gt;
*** Dynamic Host Configuration Protocol, DHCP (2008 R2) http://technet.microsoft.com/en-us/library/cc755282.aspx&lt;br /&gt;
*** Dynamic Host Configuration Protocol, DHCP (2008)&lt;br /&gt;
** DNS server, selle seadistamine ja roll&lt;br /&gt;
*** DNS http://technet.microsoft.com/en-us/library/cc730921.aspx&lt;br /&gt;
** Network Policy and Access Services&lt;br /&gt;
*** [http://wiki.itcollege.ee/index.php/Windows_Server_2008_RADIUS |Network Policy Serveri baasil RADIUS koos PEAP ja EAP-TLS]&lt;br /&gt;
&lt;br /&gt;
===Teemad===&lt;br /&gt;
[[netsh]], [[ipconfig]], [[ping]], [[tracert]], [[nslookup]], [[net]], [[SID]]&lt;br /&gt;
&lt;br /&gt;
==Muud teemad==&lt;br /&gt;
* Siia tulevad need teemad, mis otseseselt kuhugi mujale ei sobi.&lt;br /&gt;
&lt;br /&gt;
===Teemad===&lt;br /&gt;
[[Litsenseerimine]],&lt;br /&gt;
[[Terminal Services]]&lt;br /&gt;
&lt;br /&gt;
==Active Directory Certificate Services==&lt;br /&gt;
&lt;br /&gt;
== Lingid ==&lt;br /&gt;
* Migreerimine&lt;br /&gt;
** Migrate Server Roles to Windows Server 2008 R2 http://technet.microsoft.com/en-us/library/dd365353(WS.10).aspx&lt;br /&gt;
* AD DS&lt;br /&gt;
** Designing OU Structures that Work - http://technet.microsoft.com/en-us/magazine/2008.05.oudesign.aspx?pr=blog&lt;br /&gt;
&lt;br /&gt;
[[Category: Windows Server administreerimine]]&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Windows_Server_2008_RADIUS&amp;diff=11163</id>
		<title>Windows Server 2008 RADIUS</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Windows_Server_2008_RADIUS&amp;diff=11163"/>
		<updated>2010-05-31T16:45:40Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Traadita side alused]]&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
RADIUSega tegelevate teenuste struktuur on Windows NT5 (2000, 2003) ja NT6 (2008, 2008R2) vahel oluliselt muutunud. Olles ammustel aegadel 2003 R2 peal RADIUSe tööle pannud, tekkis huvi seda teha ka 2008 peal. Sai seda kord tööl proovitud ühe teise projekti kõrval, kuid eksitasin end seadete põhjatusse sügavikku. Selle raames saigi nüüd asja uuesti proovitud. Asja tööle saamiseks, katsetamiseks ja testimiseks kulus ca nädala jagu õhtuid, iga õhtu mõned tunnid.&lt;br /&gt;
* Peaks töötama ka Windows Server 2008 R2 peal, kuna NPS teenus on jäänud suuresti samaks.&lt;br /&gt;
* Windows 2008 NPS on üsna keeruline (ja võimekas) tööriist, 2003 vastav teenus oli palju lihtsam.&lt;br /&gt;
=Näidisinfrastruktuur=&lt;br /&gt;
==Teenindav pool==&lt;br /&gt;
* Virtual PC 7 virtuaalmasin serveriga, jooksmas sülearvutis 1.&lt;br /&gt;
* Windows Server 2008 eelnevalt paigaldatud. Vaata [[Windows Server administreerimine]]. Arvuti nimi TESTSRV.&lt;br /&gt;
* Active Directory eelnevalt paigaldatud. Vaata [[Active Directory Domain Services]] Domeen test.internal, NetBIOS nimi TEST.&lt;br /&gt;
* Tugijaam DD-WRT v24 beta, Linksys WRT54GL&lt;br /&gt;
==Kontod==&lt;br /&gt;
Kuna ühtegi reaalset masinat domeeni liikmeks ei teinud, ei saanud proovida masinate iseseisvat domeeni logimist. Kasutasin vaid kasutajakontosid test.user kuni test.user3. Katsetasin vastavalt MSCHAPv2, TLS ja mõlemaid kordamööda.&lt;br /&gt;
==Kliendid==&lt;br /&gt;
* Sülearvuti 1 Intel 5300, Windows 7 - Ethernet ühendatud Virtual PC ja tugijaama vahele&lt;br /&gt;
* Sülearvuti 2 Intel 2945, Windows XP&lt;br /&gt;
* PDA 1, Qualcomm, Windows Mobile 6.1 Professional &lt;br /&gt;
* PDA 2, Qualcomm, Windows Mobile 6.5&lt;br /&gt;
* IP võrk 192.168.63.0/24, staatiliselt määratud&lt;br /&gt;
&lt;br /&gt;
=Active Directory Certificate Services=&lt;br /&gt;
Active Directory Certificate Services (ADCS) on tarvilik EAP-TLS sertifikaatide väljastamiseks ja kontrollimiseks. Samuti kasutab seda valikuliselt PEAP. Viimane võib kasutada ka ise väljastataud (self-signed) sertifikaati, kuid kuna seda TLS jaoks juba vaja on, kasutame sedasama.&lt;br /&gt;
&lt;br /&gt;
NB! Kuna meil on domeenikontroller, CA ja RADIUS ühes masinas, tuvastab RADIUS server ennast juursertifikaadiga. Praktikas ei ole see soovitatav, aga hetkel &amp;quot;kärab küll&amp;quot;.&lt;br /&gt;
==Add Roles Wizard==&lt;br /&gt;
Käivita &amp;quot;Add New Roles&amp;quot; viisard ja märgi ADCS. Nagu näha on eeldatavad AD ja DNS (AD eeldus) rollid juba paigaldatud. Jätkamiseks vajuta &amp;quot;Next&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs1.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Introduction to Active Directory Certificate Services==&lt;br /&gt;
Kuvatakse rolli tutvustus ja hoiatatakse, et peale rolli paigaldust ei saa serveri nime ega domeeni kuuluvust muuta. Need tegevused muudaks arvuti ja DNS nime ning juursertifikaati ei saa enam kontrollida, kuna vastav server privaatvõtmega puudub.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs2.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Select Role Services==&lt;br /&gt;
Palutakse märkida rolli teenused. Certification Authority on kohustuslik. Web Enrollment võimaldab teha sertifikaaditaotlusi veebibrauseriga, kasutamata otseselt teist arvutit. Hetkel me seda ei vaja, jätkamiseks vajuta &amp;quot;Next&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs3.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Specify Setup Type==&lt;br /&gt;
Vali sertifikaadihoidla tüüp. Kuna me käesolevalt kasutame AD andmebaasi RADIUSe jaoks, vali &amp;quot;Enterprise&amp;quot;, mis seob CA AD külge. Jätkamiseks vajuta &amp;quot;Next&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs4.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Specify CA Type==&lt;br /&gt;
Kuna tegemist on esimese CA&#039;ga, pead määrama selle tasemme. Kuna meil eelnevad CA&#039;d puuduvad, määra Root CA (juursertimisorgan) ja jätks.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs5.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Set Up Private Key==&lt;br /&gt;
Kuna meil puuduvad eelnevad CA&#039;d koos privaatvõtmetega, vali uue privaatvõtme loomiseks &amp;quot;Create a new private key&amp;quot; ja jätka.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs6.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure Cryptography for CA==&lt;br /&gt;
Võimaldab määrate erinevaid krüptoteenuseid ja võtmepikkusi juursertifikaadile. Kuigi turvamiseks võib valida SHA512 räsialgoritmi ja 16384 bitise võtme, on vaikimisi võimalused proof-of-concept jaoks täiesti piisavad. Jätka.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs7.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure CA Name==&lt;br /&gt;
Common name kohale võib kirjutada midagi kergesti äratuntavat, näiteks &amp;quot;Domeeni juursertifikaat&amp;quot;. DN suffiksit pole mõtet muute ilma täpsete teadmisteta LDAPist ja AD struktuurist.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs8.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Set Validity Period==&lt;br /&gt;
Juursertifikaadi kehtivusaeg. Vaikimisi 5 aastat on sobiv, jätka.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs9.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure Certificate Database==&lt;br /&gt;
Praktikas on soovitatav andmed paigutada eraldi partitsioonile, hetkel jätame nad siiski vaikimisi asukohta.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs10.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Confirm Installation Selections==&lt;br /&gt;
Kokkuvõte valikutest. Peale &amp;quot;Install&amp;quot; vajutamist pole võimalik arvuti nime ega domeenikuuluvust muuta ilma juursertifikaati tühistamata.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs11.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Network Protection Services=&lt;br /&gt;
==Add Roles Wizard==&lt;br /&gt;
Vali rollide nimekirjast Network Policy and Access Services ja vajuta jätkamiseks Next.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusnps1.png]]&lt;br /&gt;
==Network Policy and Access Services==&lt;br /&gt;
Tutvustatakse erinevaid rolli võimalusi, jätka. &amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusnps2.png]]&lt;br /&gt;
==Select Role Services==&lt;br /&gt;
Vali rolliteenuste seast &amp;quot;Network Policy Server&amp;quot; ja jätka. Teised teenused pakuvad näiteks VPNi ja kliendi tarkvara turvakontrolli, kuid pole hetkel vajalikud. &amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusnps3.png]]&lt;br /&gt;
==Confirm Installation Selections==&lt;br /&gt;
Kinnita paigaldus vajutades &amp;quot;Install&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusnps4.png]]&lt;br /&gt;
&lt;br /&gt;
=Seadistamine EAP-PEAP (MS-CHAP2) ja PEAP jaoks=&lt;br /&gt;
Käivita Network Policy Server konsool.&lt;br /&gt;
==Register server in Active Directory==&lt;br /&gt;
Esmalt registreeri NPS server AD&#039;s. Selle tegemiseks tee paremklõps konsoolipuu juurkaustal ja vajuta &amp;quot;Register server in Active Directory&amp;quot;. See võimaldab NPS serveril audentida kliente AD kasutajatega.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps1.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
Palutakse luba lisada arvuti objekt gruppi, et lugeda kasutajate Dial-in seadeid. Kuigi NPS võib neid seadeid ignoreerida, on see soovitatav.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps2.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
Teiste domeeni kohta forestis tuleb seda käsitsi teha. Hetkel seda vaja pole, kuna teisi domeene pole.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps3.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Viisardi käivitamine==&lt;br /&gt;
Kasutame NPS seadistamiseks viisardit. Olles NPS konsooli juurkaustas, on tegevuspaanis rippmenüü, kus saab valida erinevate stsenaariumite viisardeid. Vali &amp;quot;RADIUS server for 802.1X Wireless or Wired Connections&amp;quot; ja vajuta &amp;quot;Configure 802.1X&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps4.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Select 802.1X Connections Type==&lt;br /&gt;
Vali &amp;quot;Secure Wireless Connections&amp;quot;. Nime kohale võid kirjutada midagi äratuntavat.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps5.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Specify 802.1X Switches==&lt;br /&gt;
Dialoogis saad lisada tugijaamu (authenticator).&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps6.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==New RADIUS Client==&lt;br /&gt;
Tugijaama lisamise seadete dialoog. Kõik seadmed ei pruugi toetada nii pikka salasõna (shared secret). Maksimaalse pikkus peaks kirjas olema seadme dokumentatsioonis.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps7.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure an Authentication Method==&lt;br /&gt;
Vali EAP-PEAP (Microsoft: Protected EAP), kuna paljud seadmed ei oska otseselt EAP-MSCHAPv2 kasutada. PEAP sisuliselt kapseldab MSCHAPv2 TLS tunnelisse. Ühest küljest võimaldab see serveril ennast korretse TLS sertifikaadiga tuvastada, kuid teisest küljest ei nõua kliendilt sertifikaati.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps8.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Specify User Groups==&lt;br /&gt;
Saad piirata kasutajaid, kes võivad RADIUSes end tuvastada. Kui soovid, et arvutid (arvutid iseseisvalt, mitte kasutajad) vastavalt poliitikale iseseisvalt WiFisse logiks, tasub lisada ka grupp arvutitega. Teine variant on jätta kõik tühjaks, siis lubatakse ligi kõik kasutajad. Seda valikut saab hiljem täpsemalt määrata Conditions all.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps11.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure a Virtual LAN (VLAN)==&lt;br /&gt;
VLANe hetkel pole, nii et ei puutu.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps12.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Käsitsi seaded==&lt;br /&gt;
Mõned asjad nõuavad käsitsi muutmist, seega ava uue poliitika seaded.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps14.png]]&lt;br /&gt;
===Overview===&lt;br /&gt;
Oluline linnuke on &amp;quot;Ignore user account dial-in properties&amp;quot;. See määrab, kas NPS järgib AD õigusi kasutada dial-in ja VPN teenuseid. Vaikimisi on kasutajatel VPN või dial-up keelatud.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps15.png]]&lt;br /&gt;
===Conditions===&lt;br /&gt;
Ühenduvad kliendid peavad ühilduma kõigi tingimustega, kui vastav tingimus on määratud. St kui tingimust pole määratud, siis seda ei kontrollita. Kui tingimus eksisteerib, peab klient sellele vastama.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps16.png]]&lt;br /&gt;
===Constraints===&lt;br /&gt;
Constraints toimub sarnaselt Conditions&#039;ile, kuid piirangud on eelmääratud.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps17.png]]&lt;br /&gt;
====Authentication Methods====&lt;br /&gt;
Lisa nimekirja &amp;quot;Microsoft: Smart Card or other certificate&amp;quot; ehk maakeeli EAP-TLS. Windows Mobile puhul peab EAP-TLS toimimiseks olema nimekirjas esimene. Eemalda kõik ülejäänud linnukesed.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps18.png]]&lt;br /&gt;
===Settings===&lt;br /&gt;
&lt;br /&gt;
====RADIUS Attributes====&lt;br /&gt;
Standard RADIUS attributes all eemalda DD-WRT jaoks atribuut &amp;quot;Framed-Protocol&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
====Encryption====&lt;br /&gt;
Encryption all eemalda kõik peale &amp;quot;Strongest encryption (MPPE 128-bit)&amp;quot;. Samas kõik seadmed ei pruugi tugevaimat krüpteeringut toetada. Lihtne testimine aitab seda kindlaks teha.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Sertifikaadi taotlemine ja eksport=&lt;br /&gt;
Kuna me &amp;quot;Web enrollment&amp;quot; teenust ei paigaldanud, peab sertifikaate taotlema läbi AD&#039;sse lisatud arvuti. Meie ainus server on ka domeenikontroller ning tavakasutajad ei saa vaikimisi domeenikontrollerisse logida. Selleks puhuks on domeeni lisatud Windows 7 virtuaalmasin.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Certificates&amp;quot; konsool pole otseselt kättesaadav, kuid auto-enrollment poliitikaga me hetkel ei tegele.&lt;br /&gt;
==Sertifikaatide konsooli avamine==&lt;br /&gt;
Käivita MMC halduskonsool, trükkides &amp;quot;Run&amp;quot; aknasse mmc.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment1.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
Avanenud aknas vajuta Ctrl+M, et lisada konsoolile laiendusi. Lisa Certificates ja jätka.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment1.1.png]]&lt;br /&gt;
==Sertifikaaditaotlusviisardi avamine==&lt;br /&gt;
Tee paremklõps kaustal Personal ja vastavalt pildile ava uue sertifikaadi päringu viisard.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment2.png]]&lt;br /&gt;
==Before you begin==&lt;br /&gt;
Kiire tutvustus - vajuta jätkamiseks &amp;quot;Next&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment3.png]]&lt;br /&gt;
==Select Certificate Enrollment Policy==&lt;br /&gt;
Enrollment poliitikad meil puuduvad seega jätka vaikimisi valikuga.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment4.png]]&lt;br /&gt;
==Request Certificates==&lt;br /&gt;
Vali &amp;quot;User&amp;quot; ja jätka.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment5.png]]&lt;br /&gt;
==Certificate Installation Results==&lt;br /&gt;
Kui päring õnnestus (võrk, DNS, kasutajakonto korras), sulge viisard.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment6.png]]&lt;br /&gt;
==Sertifikaadi eksportimise viisard==&lt;br /&gt;
Vastavalt pildile ava sertifikaadi eksportimise viisard. See on vajalik eksportimaks sertifikaati seadmetele, millel puudub muu ligipääs võrgule, näiteks PDA&#039;d, isiklikud arvutid või eraldiseisvad seadmed (printerid vms). Seda saaks teha läbi Web Enrollmenti, aga see hetkel puudub.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment7.png]]&lt;br /&gt;
==Welcome to  the Certificate Export Wizard==&lt;br /&gt;
Väike tutvustus - jätka.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment8.png]]&lt;br /&gt;
==Export Private Key==&lt;br /&gt;
Ekspordi sertifikaat koos privaatvõtmega - muidu ei saa ju sind tuvastada.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment9.png]]&lt;br /&gt;
==Export File Format==&lt;br /&gt;
Kaasa vahepealsed sertifikaadid, kuna teised seadmed ei tea enne importimist midagi meie juursertifikaadist või vahepealsetest sertifikaatidest.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment10.png]]&lt;br /&gt;
==Password==&lt;br /&gt;
Kaitse eksporditud sertifikaat parooliga - see võimaldab ju kasutajat tuvastada ning valedesse kätesse sattumisel palju pahandust põhjustada.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment11.png]]&lt;br /&gt;
==File to Export==&lt;br /&gt;
Määra eksporditud faili asukoht.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment12.png]]&lt;br /&gt;
==Completing the Certificate Export Wizard==&lt;br /&gt;
Kokkuvõte.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Enrollment13.png]]&lt;br /&gt;
&lt;br /&gt;
=Klientseadmed=&lt;br /&gt;
Siin ma täpsemalt klientseadmete seadistamisele ei keskendu, kuna fookus on serveripoolel. Sertifikaatide import seisneb vaid eksporditud failil klõpsimises ja parooli sisestamises.&lt;br /&gt;
* MSCHAPv2 puhul võib jätta kasutajanime ette domeeni sisestamata&lt;br /&gt;
* Kui on vaja domeeni määratleda, kasuta vaid domeeni NetBIOS nime. FQDN peale kipub NPS pirtsutama.&lt;br /&gt;
==Windows==&lt;br /&gt;
* Kui klient pole domeeni liige, hoiatatakse isegi usaldusväärse juursertifikaadi puhul, kui profiil pole eelseadistatud. Profiil tuleb panna käsitsi juursertifikaati usaldama. See on kummaline, arvestades, et imporditud isikliku sertifikaadiga kaasneb ka juursertifikaadi avalik võti.&lt;br /&gt;
* Kui server toetab PEAP ja EAP samaaegselt, valib Windows kõigepealt PEAP. Kui ühendusprofiili (eel)seadistada, saab kliendi määrata käsitsi EAP kasutama.&lt;br /&gt;
* Windows puhverdab sisestatud kasutajanime ja parooli. Kui sisestasid valesti, võib osutuda võimatuks puhvrit tühjendada. Lihtne lahendus on taaskäivitus, mis tühjendab puhvri.&lt;br /&gt;
==WIndows Mobile==&lt;br /&gt;
* Profiili juures tuleb käsitsi määrata, kas kasutada PEAP või EAP.&lt;br /&gt;
* Kuna EAP-MSCHAPv2 pole toetatud, tuleb kasutada PEAP.&lt;br /&gt;
* Windows Mobile hoiatab samuti juursertikaadi usaldamatuse eest...?&lt;br /&gt;
&lt;br /&gt;
© Mihkel Soomere 2010&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Windows_Server_2008_RADIUS&amp;diff=11152</id>
		<title>Windows Server 2008 RADIUS</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Windows_Server_2008_RADIUS&amp;diff=11152"/>
		<updated>2010-05-31T14:26:13Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Traadita side alused]]&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
RADIUSega tegelevate teenuste struktuur on Windows NT5 (2000, 2003) ja NT6 (2008, 2008R2) vahel oluliselt muutunud.&lt;br /&gt;
* Peaks töötama ka Windows Server 2008 R2 peal&lt;br /&gt;
* Windows 2008 NPS on üsna keeruline tööriist, 2003 vastav teenus oli palju lihtsam.&lt;br /&gt;
&lt;br /&gt;
=Näidisinfrastruktuur=&lt;br /&gt;
* Virtual PC 7 virtuaalmasin serveriga, jooksmas sülearvutis 1.&lt;br /&gt;
* Windows Server 2008 eelnevalt paigaldatud. Vaata [[Windows Server administreerimine]]. Arvuti nimi TESTSRV.&lt;br /&gt;
* Active Directory eelnevalt paigaldatud. Vaata [[Active Directory Domain Services]] Domeen test.internal, NETBIOS nimi TEST.&lt;br /&gt;
* Tugijaam DD-WRT v24 beta, Linksys WRT54GL&lt;br /&gt;
* Sülearvuti 1 Intel 5300, Windows 7 - Ethernet ühendatud Virtual PC ja tugijaama vahele&lt;br /&gt;
* Sülearvuti 2 Intel 2945, Windows XP&lt;br /&gt;
* PDA 1, Qualcomm, Windows Mobile 6.1 Professional &lt;br /&gt;
* PDA 2, Qualcomm, Windows Mobile 6.5&lt;br /&gt;
* IP võrk 192.168.63.0/24, staatiliselt määratud&lt;br /&gt;
&lt;br /&gt;
=Active Directory Certificate Services=&lt;br /&gt;
Active Directory Certificate Services (ADCS) on tarvilik EAP-TLS sertifikaatide väljastamiseks ja kontrollimiseks. Samuti kasutab seda valikuliselt PEAP. Viimane võib kasutada ka ise väljastataud (self-signed) sertifikaati, kuid kuna seda TLS jaoks juba vaja on, kasutame sedasama.&lt;br /&gt;
&lt;br /&gt;
NB! Kuna meil on domeenikontroller, CA ja RADIUS ühes masinas, tuvastab RADIUS server ennast juursertifikaadiga. Praktikas ei ole see soovitatav, aga hetkel &amp;quot;kärab küll&amp;quot;.&lt;br /&gt;
==Add Roles Wizard==&lt;br /&gt;
Käivita &amp;quot;Add New Roles&amp;quot; viisard ja märgi ADCS. Nagu näha on eeldatavad AD ja DNS (AD eeldus) rollid juba paigaldatud. Jätkamiseks vajuta &amp;quot;Next&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs1.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Introduction to Active Directory Certificate Services==&lt;br /&gt;
Kuvatakse rolli tutvustus ja hoiatatakse, et peale rolli paigaldust ei saa serveri nime ega domeeni kuuluvust muuta. Need tegevused muudaks arvuti ja DNS nime ning juursertifikaati ei saa enam kontrollida, kuna vastav server privaatvõtmega puudub.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs2.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Select Role Services==&lt;br /&gt;
Palutakse märkida rolli teenused. Certification Authority on kohustuslik. Web Enrollment võimaldab teha sertifikaaditaotlusi veebibrauseriga, kasutamata otseselt teist arvutit. Hetkel me seda ei vaja, jätkamiseks vajuta &amp;quot;Next&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs3.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Specify Setup Type==&lt;br /&gt;
Vali sertifikaadihoidla tüüp. Kuna me käesolevalt kasutame AD andmebaasi RADIUSe jaoks, vali &amp;quot;Enterprise&amp;quot;, mis seob CA AD külge. Jätkamiseks vajuta &amp;quot;Next&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs4.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Specify CA Type==&lt;br /&gt;
Kuna tegemist on esimese CA&#039;ga, pead määrama selle tasemme. Kuna meil eelnevad CA&#039;d puuduvad, määra Root CA (juursertimisorgan) ja jätks.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs5.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Set Up Private Key==&lt;br /&gt;
Kuna meil puuduvad eelnevad CA&#039;d koos privaatvõtmetega, vali uue privaatvõtme loomiseks &amp;quot;Create a new private key&amp;quot; ja jätka.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs6.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure Cryptography for CA==&lt;br /&gt;
Võimaldab määrate erinevaid krüptoteenuseid ja võtmepikkusi juursertifikaadile. Kuigi turvamiseks võib valida SHA512 räsialgoritmi ja 16384 bitise võtme, on vaikimisi võimalused proof-of-concept jaoks täiesti piisavad. Jätka.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs7.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure CA Name==&lt;br /&gt;
Common name kohale võib kirjutada midagi kergesti äratuntavat, näiteks &amp;quot;Domeeni juursertifikaat&amp;quot;. DN suffiksit pole mõtet muute ilma täpsete teadmisteta LDAPist ja AD struktuurist.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs8.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Set Validity Period==&lt;br /&gt;
Juursertifikaadi kehtivusaeg. Vaikimisi 5 aastat on sobiv, jätka.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs9.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure Certificate Database==&lt;br /&gt;
Praktikas on soovitatav andmed paigutada eraldi partitsioonile, hetkel jätame nad siiski vaikimisi asukohta.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs10.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Confirm Installation Selections==&lt;br /&gt;
Kokkuvõte valikutest. Peale &amp;quot;Install&amp;quot; vajutamist pole võimalik arvuti nime ega domeenikuuluvust muuta ilma juursertifikaati tühistamata.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs11.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Network Protection Services=&lt;br /&gt;
==Add Roles Wizard==&lt;br /&gt;
Vali rollide nimekirjast Network Policy and Access Services ja vajuta jätkamiseks Next.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusnps1.png]]&lt;br /&gt;
==Network Policy and Access Services==&lt;br /&gt;
Tutvustatakse erinevaid rolli võimalusi, jätka. &amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusnps2.png]]&lt;br /&gt;
==Select Role Services==&lt;br /&gt;
Vali rolliteenuste seast &amp;quot;Network Policy Server&amp;quot; ja jätka. Teised teenused pakuvad näiteks VPNi ja kliendi tarkvara turvakontrolli, kuid pole hetkel vajalikud. &amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusnps3.png]]&lt;br /&gt;
==Confirm Installation Selections==&lt;br /&gt;
Kinnita paigaldus vajutades &amp;quot;Install&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusnps4.png]]&lt;br /&gt;
&lt;br /&gt;
=Seadistamine EAP-PEAP (MS-CHAP2) ja PEAP jaoks=&lt;br /&gt;
Käivita Network Policy Server konsool.&lt;br /&gt;
==Register server in Active Directory==&lt;br /&gt;
Esmalt registreeri NPS server AD&#039;s. Selle tegemiseks tee paremklõps konsoolipuu juurkaustal ja vajuta &amp;quot;Register server in Active Directory&amp;quot;. See võimaldab NPS serveril audentida kliente AD kasutajatega.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps1.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
Palutakse luba lisada arvuti objekt gruppi, et lugeda kasutajate Dial-in seadeid. Kuigi NPS võib neid seadeid ignoreerida, on see soovitatav.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps2.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
Teiste domeeni kohta forestis tuleb seda käsitsi teha. Hetkel seda vaja pole, kuna teisi domeene pole.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps3.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Viisardi käivitamine==&lt;br /&gt;
Kasutame NPS seadistamiseks viisardit. Olles NPS konsooli juurkaustas, on tegevuspaanis rippmenüü, kus saab valida erinevate stsenaariumite viisardeid. Vali &amp;quot;RADIUS server for 802.1X Wireless or Wired Connections&amp;quot; ja vajuta &amp;quot;Configure 802.1X&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps4.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Select 802.1X Connections Type==&lt;br /&gt;
Vali &amp;quot;Secure Wireless Connections&amp;quot;. Nime kohale võid kirjutada midagi äratuntavat.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps5.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Specify 802.1X Switches==&lt;br /&gt;
Dialoogis saad lisada tugijaamu (authenticator).&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps6.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==New RADIUS Client==&lt;br /&gt;
Tugijaama lisamise seadete dialoog. Kõik seadmed ei pruugi toetada nii pikka salasõna (shared secret). Maksimaalse pikkus peaks kirjas olema seadme dokumentatsioonis.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps7.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure an Authentication Method==&lt;br /&gt;
Vali EAP-PEAP (Microsoft: Protected EAP), kuna paljud seadmed ei oska otseselt EAP-MSCHAPv2 kasutada. PEAP sisuliselt kapseldab MSCHAPv2 TLS tunnelisse. Ühest küljest võimaldab see serveril ennast korretse TLS sertifikaadiga tuvastada, kuid teisest küljest ei nõua kliendilt sertifikaati.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps8.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Specify User Groups==&lt;br /&gt;
Saad piirata kasutajaid, kes võivad RADIUSes end tuvastada. Kui soovid, et arvutid (arvutid iseseisvalt, mitte kasutajad) vastavalt poliitikale iseseisvalt WiFisse logiks, tasub lisada ka grupp arvutitega. Teine variant on jätta kõik tühjaks, siis lubatakse ligi kõik kasutajad. Seda valikut saab hiljem täpsemalt määrata Conditions all.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps11.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure a Virtual LAN (VLAN)==&lt;br /&gt;
VLANe hetkel pole, nii et ei puutu.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps12.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Käsitsi seaded==&lt;br /&gt;
Mõned asjad nõuavad käsitsi muutmist, seega ava uue poliitika seaded.&lt;br /&gt;
[[image:Nps14.png]]&lt;br /&gt;
===Overview===&lt;br /&gt;
Oluline linnuke on &amp;quot;Ignore user account dial-in properties&amp;quot;. See määrab, kas NPS järgib AD õigusi kasutada dial-in ja VPN teenuseid. Vaikimisi on kasutajatel VPN või dial-up keelatud.&lt;br /&gt;
[[image:Nps15.png]]&lt;br /&gt;
===Conditions===&lt;br /&gt;
Ühenduvad kliendid peavad ühilduma kõigi tingimustega, kui vastav tingimus on määratud. St kui tingimust pole määratud, siis seda ei kontrollita. Kui tingimus eksisteerib, peab klient sellele vastama.&lt;br /&gt;
[[image:Nps16.png]]&lt;br /&gt;
===Constraints===&lt;br /&gt;
Constraints toimub sarnaselt Conditions&#039;ile, kuid piirangud on eelmääratud.&lt;br /&gt;
[[image:Nps17.png]]&lt;br /&gt;
====Authentication Methods====&lt;br /&gt;
Lisa nimekirja &amp;quot;Microsoft: Smart Card or other certificate&amp;quot; ehk maakeeli EAP-TLS. Windows Mobile puhul peab EAP-TLS toimimiseks olema nimekirjas esimene. Eemalda kõik ülejäänud linnukesed.&lt;br /&gt;
[[image:Nps18.png]]&lt;br /&gt;
===Settings===&lt;br /&gt;
ABC&lt;br /&gt;
====RADIUS Attributes====&lt;br /&gt;
Standard RADIUS attributes all eemalda DD-WRT jaoks atribuut &amp;quot;Framed-Protocol&amp;quot;.&lt;br /&gt;
====Encryption====Encryption all eemalda kõik peale &amp;quot;Strongest encryption (MPPE 128-bit)&amp;quot;. Samas kõik seadmed ei pruugi tugevaimat krüpteeringut toetada. Lihtne testimine aitab seda kindlaks teha.&lt;br /&gt;
&lt;br /&gt;
=Sertifikaadi taotlemine ja eksport=&lt;br /&gt;
Kuna me &amp;quot;Web enrollment&amp;quot; teenust ei paigaldanud, peab sertifikaate taotlema läbi AD&#039;sse lisatud arvuti. Meie ainus server on ka domeenikontroller ning tavakasutajad ei saa vaikimisi domeenikontrollerisse logida. Selleks puhuks on domeeni lisatud Windows 7 virtuaalmasin.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Certificates&amp;quot; konsool pole otseselt kättesaadav, kuid auto-enrollment poliitikaga me hetkel ei tegele.&lt;br /&gt;
==Sertifikaatide konsooli avamine==&lt;br /&gt;
Käivita MMC halduskonsool, trükkides &amp;quot;Run&amp;quot; aknasse mmc.&lt;br /&gt;
[[image:Enrollment1.png]]&lt;br /&gt;
Avanenud aknas vajuta Ctrl+M, et lisada konsoolile laiendusi. Lisa Certificates ja jätka.&lt;br /&gt;
[[image:Enrollment1.1.png]]&lt;br /&gt;
==Sertifikaaditaotlusviisardi avamine==&lt;br /&gt;
Tee paremklõps kaustal Personal ja vastavalt pildile ava uue sertifikaadi päringu viisard.&lt;br /&gt;
[[image:Enrollment2.png]]&lt;br /&gt;
==Before you begin==&lt;br /&gt;
Kiire tutvustus - vajuta jätkamiseks &amp;quot;Next&amp;quot;.&lt;br /&gt;
[[image:Enrollment3.png]]&lt;br /&gt;
==Select Certificate Enrollment Policy==&lt;br /&gt;
Enrollment poliitikad meil puuduvad seega jätka vaikimisi valikuga.&lt;br /&gt;
[[image:Enrollment4.png]]&lt;br /&gt;
==Request Certificates==&lt;br /&gt;
Vali &amp;quot;User&amp;quot; ja jätka.&lt;br /&gt;
[[image:Enrollment5.png]]&lt;br /&gt;
==Certificate Installation Results==&lt;br /&gt;
Kui päring õnnestus (võrk, DNS, kasutajakonto korras), sulge viisard.&lt;br /&gt;
[[image:Enrollment6.png]]&lt;br /&gt;
==Sertifikaadi eksportimise viisard==&lt;br /&gt;
Vastavalt pildile ava sertifikaadi eksportimise viisard. See on vajalik eksportimaks sertifikaati seadmetele, millel puudub muu ligipääs võrgule, näiteks PDA&#039;d, isiklikud arvutid või eraldiseisvad seadmed (printerid vms). Seda saaks teha läbi Web Enrollmenti, aga see hetkel puudub.&lt;br /&gt;
[[image:Enrollment7.png]]&lt;br /&gt;
==Welcome to  the Certificate Export Wizard==&lt;br /&gt;
Väike tutvustus - jätka.&lt;br /&gt;
[[image:Enrollment8.png]]&lt;br /&gt;
==Export Private Key==&lt;br /&gt;
Ekspordi sertifikaat koos privaatvõtmega - muidu ei saa ju sind tuvastada.&lt;br /&gt;
[[image:Enrollment9.png]]&lt;br /&gt;
==Export File Format==&lt;br /&gt;
Kaasa vahepealsed sertifikaadid, kuna teised seadmed ei tea enne importimist midagi meie juursertifikaadist või vahepealsetest sertifikaatidest.&lt;br /&gt;
[[image:Enrollment10.png]]&lt;br /&gt;
==Password==&lt;br /&gt;
Kaitse eksporditud sertifikaat parooliga - see võimaldab ju kasutajat tuvastada ning valedesse kätesse sattumisel palju pahandust põhjustada.&lt;br /&gt;
[[image:Enrollment11.png]]&lt;br /&gt;
==File to Export==&lt;br /&gt;
Määra eksporditud faili asukoht.&lt;br /&gt;
[[image:Enrollment12.png]]&lt;br /&gt;
==Completing the Certificate Export Wizard==&lt;br /&gt;
Kokkuvõte&lt;br /&gt;
[[image:Enrollment13.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Group Policy seaded WiFi RADIUS klientide halduseks=&lt;br /&gt;
GP&#039;ga tuntud levialad jms.&lt;br /&gt;
&lt;br /&gt;
© Mihkel Soomere 2010&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Windows_Server_2008_RADIUS&amp;diff=11151</id>
		<title>Windows Server 2008 RADIUS</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Windows_Server_2008_RADIUS&amp;diff=11151"/>
		<updated>2010-05-31T14:11:41Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Traadita side alused]]&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
RADIUSega tegelevate teenuste struktuur on Windows NT5 (2000, 2003) ja NT6 (2008, 2008R2) vahel oluliselt muutunud.&lt;br /&gt;
* Peaks töötama ka Windows Server 2008 R2 peal&lt;br /&gt;
* Windows 2008 NPS on üsna keeruline tööriist, 2003 vastav teenus oli palju lihtsam.&lt;br /&gt;
&lt;br /&gt;
=Näidisinfrastruktuur=&lt;br /&gt;
* Virtual PC 7 virtuaalmasin serveriga, jooksmas sülearvutis 1.&lt;br /&gt;
* Windows Server 2008 eelnevalt paigaldatud. Vaata [[Windows Server administreerimine]]. Arvuti nimi TESTSRV.&lt;br /&gt;
* Active Directory eelnevalt paigaldatud. Vaata [[Active Directory Domain Services]] Domeen test.internal, NETBIOS nimi TEST.&lt;br /&gt;
* Tugijaam DD-WRT v24 beta, Linksys WRT54GL&lt;br /&gt;
* Sülearvuti 1 Intel 5300, Windows 7 - Ethernet ühendatud Virtual PC ja tugijaama vahele&lt;br /&gt;
* Sülearvuti 2 Intel 2945, Windows XP&lt;br /&gt;
* PDA 1, Qualcomm, Windows Mobile 6.1 Professional &lt;br /&gt;
* PDA 2, Qualcomm, Windows Mobile 6.5&lt;br /&gt;
* IP võrk 192.168.63.0/24, staatiliselt määratud&lt;br /&gt;
&lt;br /&gt;
=Active Directory Certificate Services=&lt;br /&gt;
Active Directory Certificate Services (ADCS) on tarvilik EAP-TLS sertifikaatide väljastamiseks ja kontrollimiseks. Samuti kasutab seda valikuliselt PEAP. Viimane võib kasutada ka ise väljastataud (self-signed) sertifikaati, kuid kuna seda TLS jaoks juba vaja on, kasutame sedasama.&lt;br /&gt;
&lt;br /&gt;
NB! Kuna meil on domeenikontroller, CA ja RADIUS ühes masinas, tuvastab RADIUS server ennast juursertifikaadiga. Praktikas ei ole see soovitatav, aga hetkel &amp;quot;kärab küll&amp;quot;.&lt;br /&gt;
==Add Roles Wizard==&lt;br /&gt;
Käivita &amp;quot;Add New Roles&amp;quot; viisard ja märgi ADCS. Nagu näha on eeldatavad AD ja DNS (AD eeldus) rollid juba paigaldatud. Jätkamiseks vajuta &amp;quot;Next&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs1.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Introduction to Active Directory Certificate Services==&lt;br /&gt;
Kuvatakse rolli tutvustus ja hoiatatakse, et peale rolli paigaldust ei saa serveri nime ega domeeni kuuluvust muuta. Need tegevused muudaks arvuti ja DNS nime ning juursertifikaati ei saa enam kontrollida, kuna vastav server privaatvõtmega puudub.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs2.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Select Role Services==&lt;br /&gt;
Palutakse märkida rolli teenused. Certification Authority on kohustuslik. Web Enrollment võimaldab teha sertifikaaditaotlusi veebibrauseriga, kasutamata otseselt teist arvutit. Hetkel me seda ei vaja, jätkamiseks vajuta &amp;quot;Next&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs3.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Specify Setup Type==&lt;br /&gt;
Vali sertifikaadihoidla tüüp. Kuna me käesolevalt kasutame AD andmebaasi RADIUSe jaoks, vali &amp;quot;Enterprise&amp;quot;, mis seob CA AD külge. Jätkamiseks vajuta &amp;quot;Next&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs4.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Specify CA Type==&lt;br /&gt;
Kuna tegemist on esimese CA&#039;ga, pead määrama selle tasemme. Kuna meil eelnevad CA&#039;d puuduvad, määra Root CA (juursertimisorgan) ja jätks.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs5.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Set Up Private Key==&lt;br /&gt;
Kuna meil puuduvad eelnevad CA&#039;d koos privaatvõtmetega, vali uue privaatvõtme loomiseks &amp;quot;Create a new private key&amp;quot; ja jätka.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs6.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure Cryptography for CA==&lt;br /&gt;
Võimaldab määrate erinevaid krüptoteenuseid ja võtmepikkusi juursertifikaadile. Kuigi turvamiseks võib valida SHA512 räsialgoritmi ja 16384 bitise võtme, on vaikimisi võimalused proof-of-concept jaoks täiesti piisavad. Jätka.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs7.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure CA Name==&lt;br /&gt;
Common name kohale võib kirjutada midagi kergesti äratuntavat, näiteks &amp;quot;Domeeni juursertifikaat&amp;quot;. DN suffiksit pole mõtet muute ilma täpsete teadmisteta LDAPist ja AD struktuurist.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs8.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Set Validity Period==&lt;br /&gt;
Juursertifikaadi kehtivusaeg. Vaikimisi 5 aastat on sobiv, jätka.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs9.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure Certificate Database==&lt;br /&gt;
Praktikas on soovitatav andmed paigutada eraldi partitsioonile, hetkel jätame nad siiski vaikimisi asukohta.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs10.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Confirm Installation Selections==&lt;br /&gt;
Kokkuvõte valikutest. Peale &amp;quot;Install&amp;quot; vajutamist pole võimalik arvuti nime ega domeenikuuluvust muuta ilma juursertifikaati tühistamata.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusadcs11.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Network Protection Services=&lt;br /&gt;
==Add Roles Wizard==&lt;br /&gt;
Vali rollide nimekirjast Network Policy and Access Services ja vajuta jätkamiseks Next.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusnps1.png]]&lt;br /&gt;
==Network Policy and Access Services==&lt;br /&gt;
Tutvustatakse erinevaid rolli võimalusi, jätka. &amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusnps2.png]]&lt;br /&gt;
==Select Role Services==&lt;br /&gt;
Vali rolliteenuste seast &amp;quot;Network Policy Server&amp;quot; ja jätka. Teised teenused pakuvad näiteks VPNi ja kliendi tarkvara turvakontrolli, kuid pole hetkel vajalikud. &amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusnps3.png]]&lt;br /&gt;
==Confirm Installation Selections==&lt;br /&gt;
Kinnita paigaldus vajutades &amp;quot;Install&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Radiusnps4.png]]&lt;br /&gt;
&lt;br /&gt;
=Seadistamine EAP-PEAP (MS-CHAP2) ja PEAP jaoks=&lt;br /&gt;
Käivita Network Policy Server konsool.&lt;br /&gt;
==Register server in Active Directory==&lt;br /&gt;
Esmalt registreeri NPS server AD&#039;s. Selle tegemiseks tee paremklõps konsoolipuu juurkaustal ja vajuta &amp;quot;Register server in Active Directory&amp;quot;. See võimaldab NPS serveril audentida kliente AD kasutajatega.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps1.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
Palutakse luba lisada arvuti objekt gruppi, et lugeda kasutajate Dial-in seadeid. Kuigi NPS võib neid seadeid ignoreerida, on see soovitatav.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps2.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
Teiste domeeni kohta forestis tuleb seda käsitsi teha. Hetkel seda vaja pole, kuna teisi domeene pole.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps3.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Viisardi käivitamine==&lt;br /&gt;
Kasutame NPS seadistamiseks viisardit. Olles NPS konsooli juurkaustas, on tegevuspaanis rippmenüü, kus saab valida erinevate stsenaariumite viisardeid. Vali &amp;quot;RADIUS server for 802.1X Wireless or Wired Connections&amp;quot; ja vajuta &amp;quot;Configure 802.1X&amp;quot;.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps4.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Select 802.1X Connections Type==&lt;br /&gt;
Vali &amp;quot;Secure Wireless Connections&amp;quot;. Nime kohale võid kirjutada midagi äratuntavat.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps5.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Specify 802.1X Switches==&lt;br /&gt;
Dialoogis saad lisada tugijaamu (authenticator).&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps6.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==New RADIUS Client==&lt;br /&gt;
Tugijaama lisamise seadete dialoog. Kõik seadmed ei pruugi toetada nii pikka salasõna (shared secret). Maksimaalse pikkus peaks kirjas olema seadme dokumentatsioonis.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps7.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure an Authentication Method==&lt;br /&gt;
Vali EAP-PEAP (Microsoft: Protected EAP), kuna paljud seadmed ei oska otseselt EAP-MSCHAPv2 kasutada. PEAP sisuliselt kapseldab MSCHAPv2 TLS tunnelisse. Ühest küljest võimaldab see serveril ennast korretse TLS sertifikaadiga tuvastada, kuid teisest küljest ei nõua kliendilt sertifikaati.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps8.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Specify User Groups==&lt;br /&gt;
Saad piirata kasutajaid, kes võivad RADIUSes end tuvastada. Kui soovid, et arvutid (arvutid iseseisvalt, mitte kasutajad) vastavalt poliitikale iseseisvalt WiFisse logiks, tasub lisada ka grupp arvutitega. Teine variant on jätta kõik tühjaks, siis lubatakse ligi kõik kasutajad. Seda valikut saab hiljem täpsemalt määrata Conditions all.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps11.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Configure a Virtual LAN (VLAN)==&lt;br /&gt;
VLANe hetkel pole, nii et ei puutu.&amp;lt;br&amp;gt;&lt;br /&gt;
[[image:Nps12.png]]&amp;lt;br&amp;gt;&lt;br /&gt;
==Käsitsi seaded==&lt;br /&gt;
Mõned asjad nõuavad käsitsi muutmist, seega ava uue poliitika seaded.&lt;br /&gt;
[[image:Nps14.png]]&lt;br /&gt;
===Overview===&lt;br /&gt;
Oluline linnuke on &amp;quot;Ignore user account dial-in properties&amp;quot;. See määrab, kas NPS järgib AD õigusi kasutada dial-in ja VPN teenuseid. Vaikimisi on kasutajatel VPN või dial-up keelatud.&lt;br /&gt;
[[image:Nps15.png]]&lt;br /&gt;
===Conditions===&lt;br /&gt;
Ühenduvad kliendid peavad ühilduma kõigi tingimustega, kui vastav tingimus on määratud. St kui tingimust pole määratud, siis seda ei kontrollita. Kui tingimus eksisteerib, peab klient sellele vastama.&lt;br /&gt;
[[image:Nps16.png]]&lt;br /&gt;
===Constraints===&lt;br /&gt;
Constraints toimub sarnaselt Conditions&#039;ile, kuid piirangud on eelmääratud.&lt;br /&gt;
[[image:Nps17.png]]&lt;br /&gt;
====Authentication Methods====&lt;br /&gt;
Lisa nimekirja &amp;quot;Microsoft: Smart Card or other certificate&amp;quot; ehk maakeeli EAP-TLS. Windows Mobile puhul peab EAP-TLS toimimiseks olema nimekirjas esimene. Eemalda kõik ülejäänud linnukesed.&lt;br /&gt;
[[image:Nps18.png]]&lt;br /&gt;
===Settings===&lt;br /&gt;
ABC&lt;br /&gt;
====RADIUS Attributes====&lt;br /&gt;
Standard RADIUS attributes all eemalda DD-WRT jaoks atribuut &amp;quot;Framed-Protocol&amp;quot;.&lt;br /&gt;
====Encryption====Encryption all eemalda kõik peale &amp;quot;Strongest encryption (MPPE 128-bit)&amp;quot;. Samas kõik seadmed ei pruugi tugevaimat krüpteeringut toetada. Lihtne testimine aitab seda kindlaks teha.&lt;br /&gt;
&lt;br /&gt;
=Sertifikaadi taotlemine ja eksport=&lt;br /&gt;
Kuna me &amp;quot;Web enrollment&amp;quot; teenust ei paigaldanud, peab sertifikaate taotlema läbi AD&#039;sse lisatud arvuti. Meie ainus server on ka domeenikontroller ning tavakasutajad ei saa vaikimisi domeenikontrollerisse logida. Selleks puhuks on domeeni lisatud Windows 7 virtuaalmasin.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Certificates&amp;quot; konsool pole otseselt kättesaadav, kuid auto-enrollment poliitikaga me hetkel ei tegele.&lt;br /&gt;
&lt;br /&gt;
Käivita MMC halduskonsool, trükkides &amp;quot;Run&amp;quot; aknasse mmc.&lt;br /&gt;
[[image:Enrollment1.png]]&lt;br /&gt;
Avanenud aknas vajuta Ctrl+M, et lisada konsoolile laiendusi. Lisa Certificates ja jätka.&lt;br /&gt;
[[image:Enrollment1.1.png]]&lt;br /&gt;
Tee paremklõps kaustal Personal ja vastavalt pildile ava uue sertifikaadi päringu viisard.&lt;br /&gt;
[[image:Enrollment2.png]]&lt;br /&gt;
Kiire tutvustus - vajuta jätkamiseks &amp;quot;Next&amp;quot;.&lt;br /&gt;
[[image:Enrollment3.png]]&lt;br /&gt;
Enrollment poliitikad meil puuduvad seega jätka vaikimisi valikuga.&lt;br /&gt;
[[image:Enrollment4.png]]&lt;br /&gt;
Vali &amp;quot;User&amp;quot; ja jätka.&lt;br /&gt;
[[image:Enrollment5.png]]&lt;br /&gt;
Kui päring õnnestus (võrk, DNS, kasutajakonto korras), sulge viisard.&lt;br /&gt;
[[image:Enrollment6.png]]&lt;br /&gt;
Vastavalt pildile ava sertifikaadi eksportimise viisard. See on vajalik eksportimaks sertifikaati seadmetele, millel puudub muu ligipääs võrgule, näiteks PDA&#039;d, isiklikud arvutid või eraldiseisvad seadmed (printerid vms). Seda saaks teha läbi Web Enrollmenti, aga see hetkel puudub.&lt;br /&gt;
[[image:Enrollment7.png]]&lt;br /&gt;
Väike tutvustus - jätka.&lt;br /&gt;
[[image:Enrollment8.png]]&lt;br /&gt;
Ekspordi sertifikaat koos privaatvõtmega - muidu ei saa ju sind tuvastada.&lt;br /&gt;
[[image:Enrollment9.png]]&lt;br /&gt;
Kaasa vahepealsed sertifikaadid, kuna teised seadmed ei tea enne importimist midagi meie juursertifikaadist või vahepealsetest sertifikaatidest.&lt;br /&gt;
[[image:Enrollment10.png]]&lt;br /&gt;
Kaitse eksporditud sertifikaat parooliga - see võimaldab ju kasutajat tuvastada ning valedesse kätesse sattumisel palju pahandust põhjustada.&lt;br /&gt;
[[image:Enrollment11.png]]&lt;br /&gt;
Määra eksporditud faili asukoht.&lt;br /&gt;
[[image:Enrollment12.png]]&lt;br /&gt;
Kokkuvõte&lt;br /&gt;
[[image:Enrollment13.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Group Policy seaded WiFi RADIUS klientide halduseks=&lt;br /&gt;
GP&#039;ga tuntud levialad jms.&lt;br /&gt;
&lt;br /&gt;
© Mihkel Soomere 2010&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment13.png&amp;diff=11150</id>
		<title>File:Enrollment13.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment13.png&amp;diff=11150"/>
		<updated>2010-05-31T14:10:31Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment12.png&amp;diff=11149</id>
		<title>File:Enrollment12.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment12.png&amp;diff=11149"/>
		<updated>2010-05-31T14:09:58Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment10.png&amp;diff=11148</id>
		<title>File:Enrollment10.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment10.png&amp;diff=11148"/>
		<updated>2010-05-31T14:08:41Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment11.png&amp;diff=11147</id>
		<title>File:Enrollment11.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment11.png&amp;diff=11147"/>
		<updated>2010-05-31T14:07:27Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment9.png&amp;diff=11146</id>
		<title>File:Enrollment9.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment9.png&amp;diff=11146"/>
		<updated>2010-05-31T14:06:40Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment8.png&amp;diff=11145</id>
		<title>File:Enrollment8.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment8.png&amp;diff=11145"/>
		<updated>2010-05-31T14:06:12Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment7.png&amp;diff=11144</id>
		<title>File:Enrollment7.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment7.png&amp;diff=11144"/>
		<updated>2010-05-31T14:03:44Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment6.png&amp;diff=11143</id>
		<title>File:Enrollment6.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment6.png&amp;diff=11143"/>
		<updated>2010-05-31T14:02:49Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment5.png&amp;diff=11142</id>
		<title>File:Enrollment5.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment5.png&amp;diff=11142"/>
		<updated>2010-05-31T14:02:19Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment4.png&amp;diff=11141</id>
		<title>File:Enrollment4.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment4.png&amp;diff=11141"/>
		<updated>2010-05-31T14:01:31Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment3.png&amp;diff=11140</id>
		<title>File:Enrollment3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment3.png&amp;diff=11140"/>
		<updated>2010-05-31T14:00:44Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment1.1.png&amp;diff=11139</id>
		<title>File:Enrollment1.1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment1.1.png&amp;diff=11139"/>
		<updated>2010-05-31T13:59:57Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment2.png&amp;diff=11138</id>
		<title>File:Enrollment2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment2.png&amp;diff=11138"/>
		<updated>2010-05-31T13:45:53Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=File:Enrollment1.png&amp;diff=11137</id>
		<title>File:Enrollment1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=File:Enrollment1.png&amp;diff=11137"/>
		<updated>2010-05-31T13:45:04Z</updated>

		<summary type="html">&lt;p&gt;Msoomere: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Msoomere</name></author>
	</entry>
</feed>