こんにちは!今回はPowerShellで証明書一覧を取得する方法を紹介します。
Windowsの更新や、システムの移行、何かソフトウェアの導入などを行う際にしばしば証明書は消えてしまうことがあります。調査をするにあたり一覧を取得するのは現状を把握するのに有用です。
また、エクスポートする際にも証明書の選別に役立つかと思います。
GUIで証明書を見る
まずは基本の方法としてGUIを使って確認していきましょう。とはいえ真面目に一つ一つ順を追って開くと手間ではあるので、「検索バー」を使った方法と「ファイル名を指定して実行」から起動する方法を2種類を紹介します。
ユーザーの証明書の確認方法
Windowsキーをクリックして、検索バーに証明書と入力します。
すると、「ユーザー証明書の管理」のアイコンが検索結果に出てきますので、こちらをクリックします。
certmgrが立ち上がってきますので、こちらから確認していきます。タイトルバーに「現在のユーザー」と出ていることが重要です。
コンピューターの証明書の確認方法
先ほどと同様に、Windowsキーをクリックして、検索バーに証明書と入力します。
今度は、「コンピューターの証明書の管理」をクリックします。
ユーザーアカウント制御(無効にしていない限り出る)が出現しますので、「はい」をクリックします。
すると、「certlm」が起動します。タイトルバーに今度は「ローカルコンピューター」と表示されていればOKです。
PowerShellのコマンドで一覧を取得する
先ほどの方法では一つ一つ見ることはできますが、一気に確認したり、テキストに吐き出したりしたい場合はかなり不便です。
そこでPoweShellコマンドにて一気に表示させてみましょう!
ユーザーの証明書をPowerShellで一覧表示
ユーザーの証明書はこのコマンドで出力できます。[コマンド] >c:¥list.txtなどでリストをテキストに出力して保存したり、別のエディターで見たりもできるので覚えておくといいと思います。
■ユーザーの証明書
Get-ChildItem -path cert:\CurrentUser -Recurse
実際にコマンドを実行してみると上記のような画面が出てきます。
実行しているユーザーによって表示が変わるので、注意してください。
コンピュータの証明書をPowerShellで一覧表示
こちらはコンピューターの証明書バージョンです。
先ほどと同じですが、今度は管理者権限が必要になりますのでご注意ください。
■ローカルコンピュータの証明書
Get-ChildItem -Path cert:\LocalMachine -Recurse
実際にコマンドを実行してみると上記のような画面が出てきます。
こちらも先ほどと同様にテキストなどに出力しておくと便利ですね。
あとがき
以上で証明書を取得する方法として紹介させていただきました。
実際に現場で使う機会はあまりないように思いますが、私の環境では、証明書を他のチームとの兼ね合いだったりとかでエビデンスを要求されるケースがありました。
さらっと準備してさらっと共有できるようなスキルはどんなステージでも必要です。
今後、証明書以外にも確認方法を紹介していきますので、よろしくお願いいたします。
何かのお役に立てれば幸いです。
コメント