> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/automation/runbooks/runbook-references/device/security/restrict-or-release-code-execution.md).

# Restrict Or Release Code Execution

Restrict this device to Microsoft-signed code or lift the restriction

### Description

Restricts this device through Microsoft Defender for Endpoint so that only Microsoft-signed code can run, which blocks unsigned tools an attacker may have placed on it. It can also lift an existing restriction. Give a short reason; it is recorded with the action in Defender.

### Location

Device → Security → Restrict Or Release Code Execution

**Full Runbook name**

rjgit-device\_security\_restrict-or-release-code-execution

### Details

| Property         | Value                               |
| ---------------- | ----------------------------------- |
| Version          | 1.0.1                               |
| Required modules | RealmJoin.RunbookHelper (>= 0.8.10) |
| Schedulable      | no                                  |

### Permissions

#### Application permissions

* **Type**: WindowsDefenderATP
  * Machine.Read.All
    * *Finds the Defender for Endpoint machine via /machines filtered by aadDeviceId*
  * Machine.RestrictExecution
    * *Triggers restrictCodeExecution or unrestrictCodeExecution on the machine*

### Parameters

#### DeviceId

Entra ID device ID of the device the runbook acts on. Set by the portal from the selected device.

| Property         | Value                                  |
| ---------------- | -------------------------------------- |
| Required         | true                                   |
| Default Value    |                                        |
| Type             | String                                 |
| Hidden in portal | yes (preset via runbook customization) |

#### Release

Restrict allows only Microsoft-signed code to run on the device. Remove lifts an existing restriction.

| Property            | Value   |
| ------------------- | ------- |
| Required            | true    |
| Default Value       | False   |
| Type                | Boolean |
| Portal display name | Action  |

**Portal options**

| Portal option           | Value |
| ----------------------- | ----- |
| Restrict code execution | false |
| Remove code restriction | true  |

#### Comment

Short reason for the restriction or its removal. It is stored with the action in Defender for Endpoint.

| Property            | Value                   |
| ------------------- | ----------------------- |
| Required            | true                    |
| Default Value       | Possible security risk. |
| Type                | String                  |
| Portal display name | Reason                  |

[Back to Runbook Reference overview](/automation/runbooks/runbook-references.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.realmjoin.com/automation/runbooks/runbook-references/device/security/restrict-or-release-code-execution.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
