
記事記号:[mg1985] 初版:2011/Sep/30

名前
Set-ExecutionPolicy
概要
Windows PowerShell 実行ポリシーに対するユーザー設定を変更します。
構文
Set-ExecutionPolicy [-ExecutionPolicy] {Unrestricted | RemoteSigned | AllSig
ned | Restricted | Default | Bypass | Undefined} [[-Scope] {Process | Curren
tUser | LocalMachine | UserPolicy | MachinePolicy}] [-Force] [-Confirm] [-Wh
atIf] [<CommonParameters>]
説明
Set-ExecutionPolicy は、Windows PowerShell 実行ポリシーに対するユーザー設定
を変更します。
Windows Vista、Windows Server 2008、およびそれ以降のバージョンの Windows で
このコマンドを実行するには、コンピューターの Administrators グループのメンバ
ーである場合でも、[管理者として実行] を指定して Windows PowerShell を起動す
る必要があります。
実行ポリシーは、Windows PowerShell のセキュリティ戦略の一部です。このポリシ
ーは、ユーザーが構成ファイル (Windows PowerShell プロファイルを含む) を読み
込んでスクリプトを実行できるかどうかを決定し、実行前にデジタル署名が必要な
スクリプト (存在する場合) を決定します。
詳細については、「about_Execution_Policies」を参照してください。
パラメーター
-ExecutionPolicy <ExecutionPolicy>
シェルの新しい実行ポリシーを指定します。パラメーター名 ("Name") は省略可
能です。
有効な値は次のとおりです。
-- Restricted: 構成ファイルの読み込みやスクリプトの実行を行いません。既
定値は "Restricted" です。
-- AllSigned: すべてのスクリプトと構成ファイルが信頼された発行元によって
署名されていることを要求します (ユーザーがローカル コンピューターに書
き込むスクリプトを含む)。
-- RemoteSigned: インターネットからダウンロードされたすべてのスクリプト
および構成ファイルが、信頼された発行元によって署名されていることを要
求します。
-- Unrestricted: すべての構成ファイルを読み込み、すべてのスクリプトを実
行します。インターネットからダウンロードされた署名されていないスクリ
プトを実行する場合、スクリプトを実行する前に確認を求められます。
-- Bypass: 何もブロックされず、警告もメッセージも表示されません。
-- Undefined: 現在のスコープから現在割り当てられている実行ポリシーを削
除します。このパラメーターは、グループ ポリシー スコープ内で設定され
た実行ポリシーは削除しません。
必須 true
位置 1
既定値
パイプライン入力を許可する true (ByValue)
ワイルドカード文字を許可する false
-Force [<SwitchParameter>]
プロンプトをすべて非表示にします。既定では、Set-ExecutionPolicy は実行ポ
リシーが変更されると警告を表示します。
必須 false
位置 named
既定値
パイプライン入力を許可する false
ワイルドカード文字を許可する false
-Scope <ExecutionPolicyScope>
実行ポリシーのスコープを指定します。既定値は LocalMachine です。
有効な値は次のとおりです。
-- Process: 実行ポリシーは現在の Windows PowerShell プロセスにのみ影響し
ます。
-- CurrentUser: 実行ポリシーは現在のユーザーにのみ影響します。
-- LocalMachine: 実行ポリシーはコンピューターのすべてのユーザーに影響し
ます。
特定のスコープから実行ポリシーを削除するには、そのスコープの実行ポリシー
を Undefined に設定します。
必須 false
位置 2
既定値 LocalMachine
パイプライン入力を許可する true (ByPropertyName)
ワイルドカード文字を許可する false
-Confirm [<SwitchParameter>]
コマンドを実行する前に確認メッセージを表示します。
必須 false
位置 named
既定値
パイプライン入力を許可する false
ワイルドカード文字を許可する false
-WhatIf [<SwitchParameter>]
実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。
必須 false
位置 named
既定値
パイプライン入力を許可する false
ワイルドカード文字を許可する false
<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
OutBuffer、および OutVariable。詳細については、
「get-help about_commonparameters」と入力してヘルプを参照してください。
入力
Microsoft.PowerShell.ExecutionPolicy、System.String
パイプを使用して、実行ポリシー オブジェクトまたは実行ポリシーの名前が含
まれた文字列を Set-ExecutionPolicy に渡すことができます。
出力
None
このコマンドレットによる戻り値はありません。
メモ
Set-ExecutionPolicy を使用すると、新しいユーザー設定がレジストリに書き込
まれ、変更されるまでそのまま保持されます。
ただし、コンピューターまたはユーザーに対して "スクリプトの実行を有効にす
る" グループ ポリシーを有効にした場合、ユーザー設定はレジストリに書き込
まれますが、有効にはならず、競合を説明するメッセージが表示されます。Set
-ExecutionPolicy を使用して、ユーザー設定の制限がポリシーより厳しい場合
でも、グループ ポリシーを上書きすることはできません。
-------------------------- 例 1 --------------------------
C:\PS>set-executionpolicy remotesigned
説明
-----------
このコマンドは、シェルの実行ポリシーに対するユーザー設定を RemoteSigned に変
更します。
-------------------------- 例 2 --------------------------
C:\PS>Set-ExecutionPolicy Restricted
Set-ExecutionPolicy : Windows PowerShell updated your local preference succe
ssfully, but the setting is overridden by the group policy applied to your s
ystem. Due to the override, your shell will retain its current effective exe
cution policy of "AllSigned". Contact your group policy administrator for mo
re information.
At line:1 char:20
+ set-executionpolicy <<<< restricted
説明
-----------
このコマンドは、シェルの実行ポリシーを "Restricted" に設定しようとします。"R
estricted" 設定はレジストリに書き込まれますが、この設定はグループ ポリシーと
競合するため、制限がグループ ポリシーより厳しい場合でも有効になりません。
-------------------------- 例 3 --------------------------
C:\PS>invoke-command -computername Server01 -scriptblock {get-executionpolic
y} | set-executionpolicy -force
説明
-----------
このコマンドは、リモート コンピューターから実行ポリシーを取得し、その実行ポ
リシーをローカル コンピューターに適用します。
このコマンドは、Invoke-Command コマンドレットを使用して、リモート コンピュー
ターにコマンドを送信します。ExecutionPolicy (Microsoft.PowerShell.ExecutionP
olicy) オブジェクトを Set-ExecutionPolicy にパイプできるため、Set-ExecutionP
olicy コマンドに ExecutionPolicy パラメーターは必要ありません。
また、コマンドには Force パラメーターがあり、ユーザー プロンプトを非表示にし
ます。
-------------------------- 例 4 --------------------------
C:\PS>set-executionpolicy -scope CurrentUser -executionPolicy AllSigned -for
ce
C:\PS> get-executionpolicy -list
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
C:\PS> get-executionpolicy
AllSigned
説明
-----------
この例は、特定のスコープの実行ポリシーを設定する方法を示しています。
最初のコマンドは、Set-ExecutionPolicy コマンドレットを使用して、現在のユーザ
ーに対して AllSigned 実行ポリシーを設定します。また、Force パラメーターを使用
して、ユーザー プロンプトを非表示にします。
2 番目のコマンドは、Get-ExecutionPolicy の List パラメーターを使用して、各ス
コープの実行ポリシーを取得します。その結果、現在のユーザーに対して設定されて
いる実行ポリシーがコンピューターのすべてのユーザーの実行ポリシーと異なること
がわかります。
3 番目のコマンドは、パラメーターを指定しないで Get-ExecutionPolicy コマンドレ
ットを使用し、ローカル コンピューター上の現在のユーザーの有効な実行ポリシーを
取得します。その結果、現在のユーザーに対して設定されている実行ポリシーがすべ
てのユーザーに対して設定されている実行ポリシーよりも優先することが確認できま
す。
-------------------------- 例 5 --------------------------
C:\PS>set-executionpolicy -scope CurrentUser -executionPolicy Undefined
説明
-----------
このコマンドは、Undefined の値の実行ポリシーを使用して、現在のユーザー スコー
プに対して設定された実行ポリシーを効果的に削除します。その結果、グループ ポリ
シー内または LocalMachine (すべてのユーザー) スコープで設定された実行ポリシー
が有効になります。
すべてのスコープの実行ポリシーを Undefined に設定した場合にグループ ポリシーが
設定されていなければ、既定の実行ポリシーである Restricted がコンピューターのす
べてのユーザーに対して有効になります。
関連するリンク
Online version: http://go.microsoft.com/fwlink/?LinkID=113394
Get-ExecutionPolicy
Set-AuthenticodeSignature
Get-AuthenticodeSignature
about_Execution_Policies
about_Signing

基本ソフト: Windows 7
キーワード: Windows PowerShell、ヘルプ、Cmdlet、Set-ExecutionPolicy