# Configuration guide: Operating systems - Stability, security, and compliance

## Introduction <a href="#operatingsystems-stability-security-andcompliance-configurationguide-introduction" id="operatingsystems-stability-security-andcompliance-configurationguide-introduction"></a>

This library pack will help you monitor and manage various operating systems to ensure their stability, compliance, and performance. This page will guide you through the structure of the content.

## Content list and dependency <a href="#operatingsystems-stability-security-andcompliance-configurationguide-contentlistanddependency" id="operatingsystems-stability-security-andcompliance-configurationguide-contentlistanddependency"></a>

This library pack contains the following content and dependencies:

| Type                                                                                                                   | Name                                      | Description                                                                                                                                                          | Dependencies                                                       |
| ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| [Live dashboards](https://nexthink.gitbook.io/opd/user-guide/live-dashboards)                                          | OS Stability, Compliance, and Security    | Helps to monitor and manage various operating systems to ensure their stability, compliance, and performance                                                         |                                                                    |
| [Remote actions](https://nexthink.gitbook.io/opd/user-guide/remote-actions)                                            | Get XProtect status                       | Provides information about the status of the macOS XProtect (macOS built-in antivirus software) automatic update setting on macOS devices.                           | <ul><li>Required to populate specific dashboard widgets.</li></ul> |
|                                                                                                                        | Get firewall options                      | Provides information about the status of the macOS firewall on macOS devices.                                                                                        | <ul><li>Required to populate specific dashboard widgets.</li></ul> |
|                                                                                                                        | Get BitLocker information                 | Returns basic information on BitLocker protection status.                                                                                                            | <ul><li>Required to populate specific dashboard widgets.</li></ul> |
|                                                                                                                        | Get encryption information                | Gets an APFS file system disk encryption and decryption information in addition to checking whether FileVault is enabled or not.                                     | <ul><li>Required to populate specific dashboard widgets.</li></ul> |
|                                                                                                                        | Get macOS updates and restart information | Gets information about macOS devices - the number of days since the last restart, whether there are pending updates, a list of names of pending updates, and others. | <ul><li>Required to populate specific dashboard widgets.</li></ul> |
|                                                                                                                        | Test pending reboot                       | Checks if the device is waiting to reboot for an update.                                                                                                             | <ul><li>Required to populate specific dashboard widgets.</li></ul> |
|                                                                                                                        | Set firewall options                      | Configures firewall settings under System Preferences - Security & Privacy - Firewall on macOS devices.                                                              |                                                                    |
|                                                                                                                        | Set XProtect status                       | Configures the XProtect status under System Preferences - Software Update - Advanced on macOS devices.                                                               |                                                                    |
|                                                                                                                        | Install Windows update                    | Installs a ‘.msu’ patch on Windows devices.                                                                                                                          |                                                                    |
|                                                                                                                        | Invoke Windows update                     | Restarts Windows Update and BITS services on Windows devices and forces the device to check for updates.                                                             |                                                                    |
|                                                                                                                        | Set auto updates                          | Configures additional macOS automatic update settings under System Preferences - Software Update - Advanced on macOS devices.                                        |                                                                    |
|                                                                                                                        | Get Windows Feature update diagnosis      | Executes Microsoft tool SetupDiag.exe, that process Windows Feature update log files and returns a list of possible failure reasons or upgrade confirmation.         |                                                                    |
|                                                                                                                        | Enable BitLocker Encryption               | Enables BitLocker encryption on the device's system drive.                                                                                                           |                                                                    |
| [Custom fields](https://nexthink.gitbook.io/opd/user-guide/administration/content-management/custom-fields-management) | OS targeted quality update version        | Defines the target quality update versions of Windows and macOS operating systems.                                                                                   | <ul><li>Required to populate specific dashboard widgets.</li></ul> |
|                                                                                                                        | OS supported version                      | Determines which Windows and macOS operating system versions, editions, and builds are supported.                                                                    | <ul><li>Required to populate specific dashboard widgets.</li></ul> |
|                                                                                                                        | OS targeted feature update version        | Defines the target feature update versions of Windows operating systems. Typically, this custom field requires version updates every month.                          | <ul><li>Required to populate specific dashboard widgets.</li></ul> |

## Configuration guide <a href="#operatingsystems-stability-security-andcompliance-configurationguide-configurationguide" id="operatingsystems-stability-security-andcompliance-configurationguide-configurationguide"></a>

To effectively use this library pack, the content must be installed and configured appropriately. Below are some suggested steps to install and configure the content properly before use.

### **Step 1) Install library pack content**

Go to the [Nexthink Library ](https://nexthink.gitbook.io/opd/user-guide/nexthink-library)and install all required content.

### **Step 2) Configure remote actions**

Navigate to the [manage remote action](https://nexthink.gitbook.io/opd/user-guide/remote-actions/managing-remote-actions) administration page to review and edit your remote actions.

We recommend the following configurations for these remote actions:

<table><thead><tr><th>Name</th><th>Trigger</th><th width="241">Schedule query</th><th>Parameters to edit</th></tr></thead><tbody><tr><td>Get XProtect status</td><td>Scheduled, daily</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == macos
</code></pre></td><td></td></tr><tr><td>Get firewall options</td><td>Scheduled, daily</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == macos
</code></pre></td><td></td></tr><tr><td>Get BitLocker information</td><td>Scheduled, daily</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == windows and operating_system.name != "*server*"
</code></pre></td><td></td></tr><tr><td>Get encryption information</td><td>Scheduled, daily</td><td><pre data-title="Code"><code>1 devices
<strong>2 | where operating_system.platform == macos
</strong></code></pre></td><td></td></tr><tr><td>Get macOS updates and restart information</td><td>Scheduled, daily</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == macos
</code></pre></td><td></td></tr><tr><td>Test pending reboot</td><td>Scheduled, daily</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == windows and operating_system.name != "*server*"
</code></pre></td><td></td></tr><tr><td>Set firewall options</td><td>Manual, can be triggered on multiple devices</td><td></td><td><ul><li>Enable or disable macOS firewall status</li><li>Allow or refuse built-in software to receive incoming connections</li><li>Allow or refuse downloaded signed software to provide services accessed form the network</li><li>Allow or reject ICMP connections to the computer</li></ul></td></tr><tr><td>Set XProtect status</td><td>Manual, can be triggered on multiple devices</td><td></td><td><ul><li>Enable or disable macOS XProtect status on the device</li></ul></td></tr><tr><td>Install Windows update</td><td>Manual, can be triggered on multiple devices</td><td></td><td><ul><li>Provide URL or UNC path to the update (.msu) file</li></ul></td></tr><tr><td>Invoke Windows update</td><td>Manual, can be triggered on multiple devices</td><td></td><td></td></tr><tr><td>Set auto updates</td><td>Manual, can be triggered on multiple devices</td><td></td><td><ul><li>Enable or disable macOS 'Check for updates' setting.</li><li>Enable or disable macOS 'Download new updates when available' setting.</li><li>Enable or disable 'Install macOS Updates' setting.</li><li>Enable or disable 'Install app updates from the App store' setting.</li></ul></td></tr><tr><td>Get Windows Feature update diagnosis</td><td>Manual, can be triggered on multiple devices</td><td></td><td><ul><li>Configure the absolute path to the location of SetupDiag.exe tool on the target device. For example "C:\temp\SetupDiag.exe"</li></ul></td></tr><tr><td>Enable BitLocker Encryption</td><td>Manual, can be triggered on multiple devices</td><td></td><td><ul><li>Enable or disable the 'Enforce AD backup' setting.</li><li>Define the drive encryption type used by BitLocker.</li><li>Define the encryption method used by BitLocker: 'Aes128', 'Aes256', 'XtsAes128' or 'XtsAes256'</li></ul></td></tr></tbody></table>

### **Step 3) Configure custom fields**

Navigate to the [manage custom fields ](https://nexthink.gitbook.io/opd/user-guide/administration/content-management/custom-fields-management)administration page to review and edit your custom fields.

{% hint style="info" %}
Operating system versions in the custom fields below are subject to change due to regular patches released by vendors and Apple and Microsoft support policies.

Typically, these versions need to be updated in the custom fields once a month to ensure you have the most current patch versions.
{% endhint %}

We recommend the following configurations for these custom fields:

<table><thead><tr><th width="140">Name</th><th width="161">NQL ID</th><th width="154">Rule name</th><th width="114">Object</th><th>NQL query</th></tr></thead><tbody><tr><td>OS targeted quality update version</td><td>os_targeted_quality_update_version</td><td>macos_sonoma</td><td>device</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == macos
3 | where operating_system.name == "*macOS Sonoma 14.6*"
</code></pre></td></tr><tr><td></td><td></td><td>macos_ventura</td><td>device</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == macos
3 | where operating_system.name == "*macOS Ventura 13.6.8*"
</code></pre></td></tr><tr><td></td><td></td><td>macos_monterey</td><td>device</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == macos
3 | where operating_system.name == "*macOS Monterey 12.7.6*"
</code></pre></td></tr><tr><td></td><td></td><td>windows_10_quality_update</td><td>device</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == windows and operating_system.name == "*windows 10*"
3 | where (operating_system.name == "*22h2*" and operating_system.build >= v19045.4717) or (operating_system.name == "*21h2*" and operating_system.build >= v19044.4651)
</code></pre></td></tr><tr><td></td><td></td><td>windows_11_quality_update</td><td>device</td><td><pre><code>1 devices
2 | where operating_system.platform == windows and operating_system.name == "*windows 11*"
3 | where (operating_system.name == "*22H2*" and operating_system.build >= v22621.3958) or (operating_system.name == "*23H2*" and operating_system.build >= v22631.3958)
</code></pre></td></tr><tr><td>OS targeted feature update version</td><td>os_targeted_feature_update_version</td><td>windows_10_feature_update</td><td>device</td><td><pre data-title="Code"><code><strong>1 devices
</strong>2 | where operating_system.platform == windows and operating_system.name == "*windows 10*"
3 | where (operating_system.name =="Windows 10*22H2*" or (operating_system.name =="Windows 10*21H2*" and device.operating_system.name == "*ltsc*"))
</code></pre></td></tr><tr><td></td><td></td><td>windows_11_feature_update</td><td>device</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == windows and operating_system.name == "*windows 11*"
3 | where operating_system.name == "*23H2*"
</code></pre></td></tr><tr><td>OS supported version</td><td>os_supported_version</td><td>macos_unsupported_version</td><td>device</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == macos
3 | where operating_system.name !in ["*Ventura*","*Monterey*","*Sonoma*"]
</code></pre></td></tr><tr><td></td><td></td><td>macos_supported_version</td><td>device</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == macos
3 | where operating_system.name in ["*Ventura*","*Monterey*","*Sonoma*"]
</code></pre></td></tr><tr><td></td><td></td><td>windows_unsupported_version</td><td>device</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == windows and operating_system.name != "*server*"
<strong>3 | where (operating_system.name !in ["*enterprise*", "*education*", "*ltsc*", "*ltsb*"] and operating_system.name in ["*windows 11*"] and operating_system.build &#x3C; v22621.521) or (operating_system.name !in ["*enterprise*", "*education*", "*ltsc*", "*ltsb*"] and operating_system.build &#x3C; v19045.0) or (operating_system.name !in ["*ltsc*", "*ltsb*"] and operating_system.name in ["*pro*", "*pro*"] and operating_system.build &#x3C; v19045.2130) or (operating_system.name in ["*enterprise*", "*education*"] and operating_system.name !in [ "*ltsc*", "*ltsb*"] and operating_system.build &#x3C; v19044.0) or (operating_system.name in [ "*ltsc*", "*ltsb*"] and operating_system.build &#x3C; v19044.0) or operating_system.name == "*Windows 7*" or operating_system.name == "*Windows 8*" or operating_system.build &#x3C; v7601.0
</strong></code></pre></td></tr><tr><td></td><td></td><td>windows_supported_version</td><td>device</td><td><pre data-title="Code"><code>1 devices
2 | where operating_system.platform == windows and operating_system.name != "*server*"
<strong>3 | where (operating_system.name !in ["*ltsc*", "*ltsb*"] and operating_system.name in ["*enterprise*", "*education*"] and operating_system.name == "*windows 11*" and operating_system.build > v22000.194) or (operating_system.name !in ["*ltsc*", "*ltsb*", "*enterprise*", "*education*"] and operating_system.name == "*windows 11*" and operating_system.build > v22621.521) or (operating_system.name !in ["*ltsc*", "*ltsb*"] and operating_system.name == "*windows 10*" and operating_system.name in ["*enterprise*", "*education*"] and operating_system.build > v19044.1288) or (operating_system.name !in ["*ltsc*", "*ltsb*"] and operating_system.name in ["*pro*", "*pro*"] and operating_system.name == "windows 10*" and operating_system.build > v19045.0) or (operating_system.name in ["*ltsc*", "*ltsb*"] and operating_system.build > v19044.0)
</strong></code></pre></td></tr></tbody></table>

## Usage guide <a href="#operatingsystems-stability-security-andcompliance-configurationguide-usageguide" id="operatingsystems-stability-security-andcompliance-configurationguide-usageguide"></a>

Your content is now configured and ready to be used. For usage overview and recommendations, you can visit the usage guide:

[Usage guide: Operating systems - Stability, security, and compliance](/platform/~/changes/Sh4xqs4GDClkDKT9Hvux/library-packs/operating-systems/operating-systems-stability-security-and-compliance/operating-systems-stability-security-and-compliance-usage-guide.md)


---

# 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://docs.nexthink.com/platform/~/changes/Sh4xqs4GDClkDKT9Hvux/library-packs/operating-systems/operating-systems-stability-security-and-compliance/operating-systems-stability-security-and-compliance-configuration-guide.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.
