Skript, millega saab arvutis käivitada IDkaardi haldusvahendi ja selle sulgemisel kustutatakse sertifikaadid - PowerShell: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Rluup (talk | contribs)
Created page with "Category: Skriptimiskeeled #Ragnar Luup AK-31 2014a #antud skript kustutab pärast ID kaardi kasutamist arvutis olevad sertifikaadid. Skript on kirjutatud silmas pidades pow…"
 
Rluup (talk | contribs)
No edit summary
 
Line 1: Line 1:
[[Category: Skriptimiskeeled]]
[[Category: Skriptimiskeeled]]


<source lang = "powershell">
#Ragnar Luup AK-31 2014a
#Ragnar Luup AK-31 2014a
#antud skript kustutab pärast ID kaardi kasutamist arvutis olevad sertifikaadid. Skript on kirjutatud silmas pidades powershell 2.0 eriärasid.  
#antud skript kustutab pärast ID kaardi kasutamist arvutis olevad sertifikaadid. Skript on kirjutatud silmas pidades powershell 2.0 eriärasid.  
Line 23: Line 24:
# sulgeme hoidla kus me certe kustutasime
# sulgeme hoidla kus me certe kustutasime
$hoidla.Close()
$hoidla.Close()
</source>

Latest revision as of 15:14, 30 December 2014


#Ragnar Luup AK-31 2014a
#antud skript kustutab pärast ID kaardi kasutamist arvutis olevad sertifikaadid. Skript on kirjutatud silmas pidades powershell 2.0 eriärasid. 
#Powershell 3.0 võimaldab seda teha juba lihtsamalt kasutates Remove-Item käsku 

#Kuna certifikaate ei laeta ennem arvutisse kui keegi neid loeb siis käivitan siin ID-kaardi haldusvahendi ja ootame kuni see programm suletakse
Start-Process "C:\Program Files (x86)\Estonian ID Card\qesteidutil.exe" -wait

# avame hoidla kust sertifikaate loeme
$hoidla = New-Object System.Security.Cryptography.x509Certificates.X509Store("My","CurrentUser")
$hoidla.Open("ReadWrite")

# Filtreerime kuidagi hoidlas olevad sertifikaadid. Kasutame siin näiteks sertifikaadi väljastamise kuupäeva
$serdid = $hoidla.Certificates | Where {$_.NotAfter -gt "1/01/2010"} #kõik sertifikaadid mis on väljastatud peale 2010 aastat, kuna sertifikaat ei tohiks kehtida üle 3a

#kustutame sertifikaadi
ForEach ($sert in $serdid)
{
  $hoidla.Remove($sert)
}

# sulgeme hoidla kus me certe kustutasime
$hoidla.Close()