PowerShell Cmdlet - Set-ExecutionPolicy
 記事記号:[mg1985] 初版:2011/Sep/30

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    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
ご利用数: 1859050
感想・要望・問い合わせは こちら