質問: (test-path -path $certchecklocation) if ($certcheckfile -eq $false) { if (-not ([security.principal.windowsprincipal][security.principal.windowsidentity]::getcurrent()).isinrole([security.principal.windowsbuiltinrole] "administrator")) { $messagebox.popup("please run as an admin.",5,"proxy utility",0) break } else { $certfile | import-certificate -certstorelocation $certputlocation } } この下には、guiコードと、プロキシ設定などを変更するものがあります。つまり、1つのcerを取り、それをローカルマシンに適用します。ユーザーが管理者でない場合は、管理者としてスクリプトを再起動するように求められます。これをforeach方式でスケールアウトして、cerが特定のネットワークディレクトリに追加されたときに、スクリプトが起動時に通知し、新しい証明書のインストールを試みるようにするつもりです。ユーザーが管理者でない場合は、新しい証明書をインストールする必要がある場合にのみプロンプトが表示されます。まだpowershellを学習しているので、どんな支援も大歓迎です!
回答: .cerファイルから拇印を取得する最も簡単な方法は、powershellで証明書オブジェクトを作成し、その中に証明書をインポートすることです。その後、powershellに拇印を含むオブジェクトを表示させることができます。このようなもの:$cer = new-object system.security.cryptography.x509certificates.x509certificate2 $cer.import("pathtocer\cabundle.crt") $cer.thumbprint