최근에 PKI를 다시 작성했으며 네트워크의 모든 클라이언트 컴퓨터에 발급 된 인증서를 삭제하고 싶습니다. Powershell의 직업인 것 같습니다! 따라서이 스크립트를 GPO에서 배포하고 SysVol에서 실행하고 시작시 클라이언트 컴퓨터에서 트리거되도록 작성했습니다.
set-location cert:\LocalMachine\My
$certname = $env:COMPUTERNAME + ".domain.com"
get-item * | %{
if($_.issuer -like "CN=IssuingCA*" -and $_.DnsNameList.unicode -like $certname) { remove-item .\$_.Thumbprint -Force }
}
관리자 권한 명령 프롬프트에서 :
- Ran 일 때 스크립트는 출력을 제공하지 않습니다 (단순히 새로운 터미널 라인). 오류가없고 인증서가 삭제되지 않습니다.
- 스크립트
-WhatIf
의Remove-Item
명령에 인수 가 추가 되면 오류가없고 인증서는 삭제되지 않습니다. - Remove-Item. \ CERTIFICATE-THUMBPRINT -Force가 실행되면 인증서가 삭제됩니다.
이것은 권한 문제입니까? 더 똑똑하고 간단한 방법이 있습니까?
감사!
@BigHomie. 네, 시도했습니다. 편집에서 그 정보를 삭제 한 것 같습니다 ...
—
Byron C.
조건부 코드 블록에서 조건부
—
Colyn1337
write-host
에 해당하는 경우 화면에 무언가를 덤프 하기 위해를 추가하십시오 . 스크립트가 거짓으로 평가되는지 궁금합니다 (오류 없음 및 조치 없음 설명).
@ Colyn1337 p. True를 평가하고 있습니다.
—
바이런 C.
@ByronC. 코드 블록이 그냥 있으면 어떻게됩니까
—
Colyn1337
Remove-Item -Force
?
remove-item -whatif
??