2014/02/15

PowerShell 自己署名証明書を追加するとUnknownErrorが表示される~Set-AuthenticodeSignature

PS_Set-Auth_Error_03
ファイル サーバに保存しているPowerShell スクリプト ファイル(.ps1)をクライアントで実行するため、Set-AuthenticodeSignature コマンドレットを実行、スクリプト ファイルに自己署名証明書を追加しました。
しかし、実行結果のStatusがUnknownErrorになる現象が発生。
今回のこのエラーに対する対処法をメモ。

今回の現象

Set-AuthenticodeSignature コマンドレットの実行結果
  • SignerCertificate : null
  • Status : UnknownError
image
Get-AuthenticodeSignature コマンドレットの実行結果
  • SignerCertificate : null
  • Status : NotSigned
image

原因および対処法

原因および対処法は、MSDN Blogsに書かれていました。
"Set-AuthenticodeSignature" returns Unknown Error while registering the script with a certificate
原因
PowerShell ISE(アイス)で作成したスクリプト ファイルの文字コードは、”Unicode big endian”がデフォルト。
文字コード ”Unicode big endian”で書かれたスクリプト ファイルに対し、自己署名証明書をを追加することが出来ないとのこと。
対処法
ノート パッド等を使い、文字コードを”Unicode big endian”から”UTF-8”に変更する
image
文字コードを変更し、Set-AuthenticodeSignature コマンドレットを実行するとStatusがValidに変更されました。
PS_Set-Auth_Error_03
スポンサーリンク

スポンサーリンク