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

From ICO wiki
Jump to navigationJump to search


#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()