6

私が書いた PowerShell スクリプトがあります。以下のように PowerShell スクリプトを実行しようとしました。

PS C:\Documents and Settings\Administrator>c:\test\Test.ps1

だから、これは私に次のようなエラーを与えています:

このシステムではスクリプトの実行が無効になっているため、ファイル c:\test\Test.ps1 を読み込めません。詳細については、「get-help about_signing」を参照してください。

Set-ExecutionPolicy Unrestricted設定するとエラーが修正されることがわかりました。

しかし、私の質問は次のとおりです。

  1. この署名は何についてのものですか?
  2. 設定せずにこのエラーを修正できますかSet-ExecutionPolicy Unrestricted(署名のようなことを行います)? もしそうなら、それを行う方法は?
  3. Set-ExecutionPolicy UnrestrictedWeb サーバーに設定した場合、セキュリティ上の問題はありますか?
4

2 に答える 2

3

指示に従って実行すると、何をする必要があるかを正確に説明するヘルプ ページが表示されます。

get-help about_signing

要約すると、コンピューターには、スクリプトを作成した人物が信頼できる人物であるかどうかを判断する方法がないため、既定では、信頼できないスクリプトは実行されません。これを修正する 2 つの方法は、不明なソースからのスクリプトを許可するか ( を使用して見つけた解決策) 、信頼できるソースからのものであり、そのソースから入手したセアンスで改ざんされていないことを証明するスクリプトSet-ExecutionPolicy Unrestrictedに「署名」することです。 .

独自のコードに署名するには、コード署名証明書が必要です。about_signingそのヘルプを読むと、CREATE A SELF-SIGNED CERTIFICATEそれを行う方法を説明するというセクションがあります。

証明書を取得したら、スクリプトに署名する必要があります。同じヘルプをもう一度確認すると、SIGN A SCRIPTその方法も説明されているというセクションがあります。

于 2013-07-18T03:51:21.903 に答える