web-dev-qa-db-ja.com

CurrentUserにPowershell ExecutionPolicyを設定できません

ここに私が実行しているコマンドのサンプルがあります:

PS C:\> Get-ExecutionPolicy -List 

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine    Unrestricted


PS C:\> Set-ExecutionPolicy Unrestricted -Scope CurrentUser
PS C:\> Get-ExecutionPolicy -List

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine    Unrestricted

CurrentUserUnrestrictedに設定したいのですが、設定できないようです。 このMSDNドキュメント で概説されているように、適切なグループポリシーを確認しましたが、構成されているものは見つかりませんでした。

これを設定する方法についての手がかりはありますか?

11
CamronBute

これはWindows 10のバグのようです。機能する前に、キーHKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShellを作成し、そのキーにExecutionPolicyというデータとUnrestrictedという文字列値を作成する必要がありました。それでも、レジストリを変更しないと変更できないようです。

4
CamronBute

他のすべての人がそうであるように、これはWindows 10のプレビュービルドのバグであると思われます。私は、-Forceパラメーターを指定するだけで機能するようにしました。

ローカルマシンの設定:

Set-ExecutionPolicy RemoteSigned -Force

現在のユーザーの設定:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

11
ddcruver

私はOPよりも一般化されたpowershellポリシーの問題がありましたが、Win10 Anniversary Editionがポリシーを正しく更新するには、ここと他の場所で見つかった回答の組み合わせが必要になりました。

1)このレジストリエントリが存在し、許可する最低のセキュリティレベルに設定されていることを確認してください:HKEY_CURRENT_USER\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
Name:ExecutionPolicyType: REG_SZData:Unrestricted
2)このレジストリエントリが存在し、許可する最低のセキュリティレベルに設定されていることを確認してください:HKLM:\Software\Policies\Microsoft\Windows\PowerShell
Name:ExecutionPolicyType: REG_SZData: Unrestricted
3)gpedit.mscを実行してグループポリシーを更新し、Computer Configuration > Administrative Templates > Windows Components > Windows PowerShellに移動します
_Turn on Script Executionを選択し、次にEnabledpolicy settingを編集し、その下のボックスにExecution Policyと表示されたら、Allow All Scriptsに設定します

すべてを完了したら、必要に応じてポリシーを強制的に更新することにより、ddcruverの回答を使用できます。ポリシーを無制限に設定する場合は、Get-ExecutionPolicy -ListからRemoteSignedなどの制限の厳しい設定にすべての設定を行うことをお勧めします。悪意のあるpowershellスクリプトがメモリベースの主な原因の1つであるためですWindowsマルウェア。

2

Windows 10のインストールにバグはありません。単にVMWare Workstation 11を使用してインストールを実行し、VMを構築しました。私はそれより前に何も変更を加えずに以下を実行しました:

enter image description here

私が持っているWindows 10のバージョンを知りたい場合:10.0.10074

1
user47078

次の場所にあるレジストリキーが見つかりました

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell 

RemoteSignedに設定されました。値をUnrestrictedに設定するとうまくいきました。

0
Mike Morrison

実行ポリシーを変更する前に、昇格モードでPowerShellを実行する必要があります

0
agi