# Execution Policy

#### There are a few ways to set the PowerShell Execution Policy in WinSE.  I'll start with the easiest

## AutoUnattend.xml Method

#### By far the easiest way to set the PowerShell Execution Policy to Bypass is to use an AutoUnattend.xml with a RunSynchronous Command

```
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <UserData>
                <AcceptEula>true</AcceptEula>
                <ProductKey>
                    <Key>NPPR9-FWDCX-D2C8J-H872K-2YT43</Key>
                    <WillShowUI>Never</WillShowUI>
                </ProductKey>
            </UserData>
            <RunSynchronous>
                <RunSynchronousCommand wcm:action="add">
                    <Order>1</Order>
                    <Description>OSD ExecutionPolicy</Description>
                    <Path>PowerShell -WindowStyle Hidden -Command "Set-ExecutionPolicy Bypass"</Path>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>
    </settings>
```

#### That does the trick

![](/files/-Lq-iBXnNTaASCW9HGZ8)

## Driver Method (OSDBuilder)

#### You can easily create your own Driver INF and add that to WinSE (WinPE and WinRE too) to set the Execution Policy.  OSDBuilder easily lets you add this Driver

{% code title="RegAdd PowerShell ExecutionPolicy.inf" %}

```
;==================================================================================================
;   David Segura
;   https://www.osdeploy.com
;==================================================================================================
;   Purpose: Set PowerShell ExecutionPolicy to Bypass
;==================================================================================================
;   Compatibility: WinPE 10 x86 and x64
;==================================================================================================
[Version]
Signature   = "$WINDOWS NT$"
Class       = System
ClassGuid   = {4D36E97d-E325-11CE-BFC1-08002BE10318}
Provider    = OSDeploy
DriverVer   = 10/19/2018,2018.10.19.0

[DefaultInstall] 
AddReg      = AddReg 

[AddReg]
;rootkey,[subkey],[value],[flags],[data]
;0x00000    REG_SZ
;0x00001    REG_BINARY
;0x10000    REG_MULTI_SZ
;0x20000    REG_EXPAND_SZ
;0x10001    REG_DWORD
;0x20001    REG_NONE
HKLM,SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell,ExecutionPolicy,0x00000,"Bypass"
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://osd.osdeploy.com/docs/winse/execution-policy.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
