PowerShellは初期状態では、インタラクティブシェルとして動作することになっており、悪意を持つPowerShellスクリプトが実行されないように、スクリプトの実行は無効になっている。
PS > .\Test.ps1 .\Test.ps1 : このシステムではスクリプトの実行が無効になっているため、ファイル Test.ps1 を読み込むことができません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。 発生場所 行:1 文字:1 + .\Test.ps1 + ~~~~~~~~~~ + CategoryInfo : セキュリティ エラー: (: ) []、PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
これでは少々使い勝手が悪いので、スクリプトを実行できるように設定を変更する。Set-ExecutionPolicyコマンドレットにRemoteSignedを指定して実行する。問いにはY(はい)で回答する。
PS > Set-ExecutionPolicy RemoteSigned 実行ポリシーの変更 実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies のヘルプ トピック(https://go.microsoft.com/fwlink/?LinkID=135170) で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか? [Y] はい(Y) [A] すべて続行(A) [N] いいえ(N) [L] すべて無視(L) [S] 中断(S) [?] ヘルプ (既定値は "N"): Y
これで実行できるようになる。