実行ポリシーというのがあり、既定ではスクリプトの実行は出来ない
現在の実行ポリシーは "Get-ExecutionPolicy" コマンドレッドで確認
PS D:\TEMP\memo\powershell> Get-ExecutionPolicy Restricted
実行ポリシーは以下の4つ
・Restricted … すべてスクリプトの実行を禁止
・AllSigned … すべてのスクリプトに証明書を要求
・RemoteSigned … インターネットからダウロードしたスクリプトに証明書を要求
・Unrestricted … すべてのスクリプトの実行を許可 (非ローカルは実行するか確認)
・Bypass … 警告やユーザーへの確認なしに、全てのスクリプトが実行可能
実行ポリシーの変更は "Set-ExecutionPolicy ポリシー名" で行う
このコマンドはPowerShellを管理者権限で起動してから行うこと
PS C:\WINDOWS\system32> 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実行ポリシーの変更は、そのPowerShellだけではなく Windows全体に影響する
スクリプトはファイル名だけの指定では実行できない
例) sample.ps1
パス(絶対パス または 相対パス)の指定が必要
例) ./sample.ps1
※ #3:スクリプトへの引数渡しと変数 へ続く。
PowerShell学習
0 件のコメント:
コメントを投稿