クラウドストレージなどからダウンロードしたスクリプトファイルは、そのままでは実行できない。
しかし、Unblock-Fileコマンドレットにより、「ダウンロードした」という属性を削除することで、ExecutionPolicyがRemoteSignedであっても実行できるようになる。
PowerShellの実行ポリシー
PowerShellの実行ポリシーはデフォルトでRemoteSignedとなっており、ダウンロードしたファイルは署名がある場合に限り実行可能である。
PowerShellの実行ポリシー設定は次のように確認できる。
> Get-ExecutionPolicy
RemoteSigned
Unblock-File
実行ポリシーを変更せずにダウンロードしたスクリプトを実行できるようにするには、事前に次のコマンドをスクリプトファイルに対して実行する。
Unblock-File -Path 実行できるようにしたいスクリプトファイルのパス
Zone.Identifierとは
クラウドストレージからダウンロードしたスクリプトファイルをWSLのフォルダに移動したりすると、Windowsでは見えない「Zone.Identifier」というファイルが現れる。
Unblock-Fileコマンドレットでは、このZone.Identifierを削除している。
参考URL
Unblock-File (Microsoft.PowerShell.Utility) - PowerShell
This cmdlet only works on the Windows and macOS platforms. The Unblock-File cmdlet lets you open files that were downloa...
コメント