10. 개인 저장 소 에서 만 료 된 인증 서 를 삭제 합 니 다.

2288 단어 windowspowershell
HI, 좋 은 아침 입 니 다. cantgis 가 또 여러분 을 만 났 습 니 다.오늘 우 리 는 증서 에 관 한 이 야 기 를 나 누 었 다. 우 리 는 많은 사이트 검증 증 서 를 사용 했다. 그 중에서 은행, 엔 터 테 인 먼 트 사이트 등 은 그들 이 매년 한 번 만기 가 된다.Internet Explorer 의 인증서 목록, 만 료 된 인증서 의 집합, 불규칙 한 존재 가 있 습 니 다. 우 리 는 어떻게 획득 과 처 리 를 조회 합 니까?다음은 cantgis 가 여러분 에 게 이 해결 방안 을 가 져 다 드 리 겠 습 니 다.이 인증 서 를 얻 고 찾 으 려 면 x. 509 인증서 공급 자 (Microsoft. PowerShell. security\\Certificate) 를 사용 해 야 합 니 다. powershell 2.0 에 서 는 X509 store 클래스 의 대상 을 수 동 으로 정리 하고 get - item 을 사용 해 야 합 니 다.
$myCerts = Get-Item Cert:\CurrentUser\My

이 어 인증 서 를 삭제 하려 면 openflags 를 통 해 이 x509 인증서 저장 대상 을 열 어야 합 니 다.이 open () 방법: 새로운 저장 소 를 만 들 거나 지정 한 저장 소 에 접근 할 수 있 습 니 다 (물론 openflags 기반). 기본 적 인 상황 에서 이 store 는 읽 기 전용 입 니 다. 우 리 는 그것 을 열지 마 십시오. 물론 삭제 할 수도 없습니다.
구성원 이름
설명 하 다.
IncludeArchived
X. 509 인증서 저장 소 를 열 고 압축 파일 인증 서 를 추가 합 니 다.
MaxAllowed
최고급 접근 을 허용 하 는 방식 으로 X. 509 인증서 저장 소 를 엽 니 다.
OpenExistingOnly
기 존 저장 소 만 엽 니 다.저장 소 가 존재 하지 않 는 다 면 Open 방법 은 새로운 저장 소 를 만 들 지 않 습 니 다.
ReadOnly
읽 기 전용 으로 X. 509 인증서 저장 소 를 엽 니 다.
ReadWrite
읽 기와 쓰기 로 X. 509 인증서 저장 소 를 엽 니 다.
OK. 저희 가 사용 할 게 요.
$myCerts.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)

어제 만 료 된 인증 서 를 아래 cmdlet 를 통 해 걸 러 냅 니 다. $my certs 가 가리 키 는 경 로 를 참고 할 수 있 습 니 다. 중복 되 는 인 코딩 으로 쓸모없는 문자열 을 만 드 는 것 이 아 닙 니 다.
$today = Get-Date
$ExpiredList = Get-ChildItem $myCerts.PSPath | Where-Object { $_.NotAfter -lt $today }

우 리 는 매번 파 이 프 를 호출 하고 싶 지 않다: where - object 인증서 의 x. 509 인증서 저장 소 를 이렇게 삭제 할 필요 가 없 기 때문에 cmdlet 명령 을 실행 합 니 다.
ForEach ($Cert in $ExpiredList) {
   $myCerts.Remove($Cert)
}
                                                                         
$myCerts.Close() # We opened it, so we need to close it.

powershell 3.0 에서 우 리 는 통합 하여 실행 할 수 있다.
$today = Get-Date
Get-ChildItem Cert:\CurrentUser\My |
Where-Object NotAfter -lt $today |
Remove-Item
                           
#或者
                           
Get-ChildItem Cert:\CurrentUser\My |
ForEach-Object -begin { $now = get-date } -process { if ($PSItem.NotAfter -lt $now )
Remove-Item

좋은 웹페이지 즐겨찾기