Wednesday, August 23, 2017

 

[CertificationAuthority] CA 만료 기간 관리 스크립트(Powershell)



CA 만료 기간 관리 스크립트(Powershell)




[Explanation]

도메인 환경이든, 아니던, 서버를 운영하다보면 평소에 간과하는 부분이 CA 관련 설정입니다. CA는 보통 자동으로 갱신되도록 GPO 정책으로 설정이 되어 있지만 일부 설정이 안되어 있는 경우, 서버 자체의 기능을 수행하지 못하는 문제가 발생할 수 있으므로 반드시 관리가 필요합니다. 관리를 하기 스크립트를 trigger 할 수 있는 bat 파일을 별도로 생성하여 작업스케쥴 혹은 메일링을 수신 받도록 한다면 좋을듯 합니다. (메일링 관련해서는 추후 포스팅하도록 하겠습니다. )

하기 스크립트는 우선 컴퓨터 계정 대상 발급한 인증서를 조회하는 스크립트이며, 1을 수행하고 나서 Get-Childitem을 통해서 경로를 변경하셔서 원하는 정보를 조회하시면 됩니다. 그리고 인증 만료 기간을 설정할 수 있는데요,(하기 99999일로 설정된 정보) 원하시는 알림기간을 설정하시면 만료되기 xxxx일 전인 인증서만을 조회할 수 있습니다. 
  1. Set-Location cert:\LocalMachine
  2. GET-CHILDITEM -RECURSE | where {$_.PSParentPath -like '*localmachine\My*'  -AND $_.notafter -le (get-date).AddDays(99999) -AND $_.notafter -gt (get-date) }  | Ft subject, notafter  

참고로 인증서 관련 Cmdlet은 원격 저장이 지원되지 않는다. 예를 들어서, 아래와 같이 인증서 관련 정보를 추출한 후에 별도로 네트워크 공유로 저장하려고 하면 메시지가 발생한다. 링크참고

PS cert:\LocalMachine> GET-CHILDITEM -RECURSE | where {$_.PSParentPath -like '*localmachine\My*'  -AND $_.notafter -le (get-date).AddDays(99999) -AND $_.notafter -gt (get-date) }  | select subject, notafter |  export-csv -path \\Server\certmon\et.csv -NoTypeInformation
Export-Csv : Cannot open file because the current provider (Microsoft.PowerShell.Security\Certificate) cannot open a file.
At line:1 char:198
+ GET-CHILDITEM -RECURSE | where {$_.PSParentPath -like '*localmachine\My*'  -AND $_.notafter -le (get-date).AddDays(99999) -AND $_.notafter -gt (get-date) }  | select subject, notafter |  export-csv <<<<  -path \\Server\certmon\et.
csv -NoTypeInformation
    + CategoryInfo          : InvalidArgument: (:) [Export-Csv], PSInvalidOperationException
    + FullyQualifiedErrorId : ReadWriteFileNotFileSystemProvider,Microsoft.PowerShell.Commands.ExportCsvCommand

♔♔♔♔♔♔♔♔♔♔

댓글이나 의견은 언제든지 환영합니다.

Your Comments are Always Welcome!
Share:

0 comments:

Post a Comment