List installed personal certificates in batch

Here's how to do it from a cmd.exe shell on Windows 7, without first starting PowerShell:

C:\> powershell -Command Get-ChildItem -Recurse Cert:

You can then pipe the output to other commands (which commands? well, your question isn't about that, so I won't go into detail) or to a file. From there you can isolate whether the specific cert you're looking for is installed.

Since you said you're on Windows 7, I assume that PowerShell is installed. To not have PowerShell, it would explicitly have to be uninstalled, and you didn't mention in your question that PowerShell was uninstalled or not available, or that the solution has to work on pre-Vista Windows where PowerShell didn't exist.


No Powershell necessary.

Also the proposed solution dumps raw data not just the Personal store requested by the OP.

N.B. The following was run in an Administrator command prompt shell

C:\windows\system32>systeminfo | findstr /B /C:"OS Name" /C:"OS Version"

OS Name:                   Microsoft Windows 7 Enterprise

OS Version:                6.1.7601 Service Pack 1 Build 7601

C:\windows\system32>certutil -store My

My   <<< Certificate Store Name

================ Certificate 0 ================

Serial Number: ****************************  *<<< asterisks = mask for post. You will see cert info*

Issuer: ****************************

NotBefore: ****************************

NotAfter: ****************************

Subject: CN=****************************

Non-root Certificate

Template: ****************************

Cert Hash(sha1): ****************************

Simple container name: ****************************

  Provider = Microsoft RSA SChannel Cryptographic Provider

Private key is NOT exportable

Encryption test passed