# Overview

OSConfig is a **method** of applying Operating System configuration during a Windows Deployment as a Package, without having multiple steps in your Task Sequence. This allows for **simple** configuration that is **independent** of a Task Sequence.

## Modular&#x20;

Because the goal of OSConfig is to remove all Customizations from the Task Sequences, and to place all of them in OSConfig, this allows the customizations to be Modular.  The benefit of this is that you can use this in whatever Deployment method you can think of.  Additionally, this allows the customizations to be integrated in a Provisioning Package :)

## OSConfig Deployment Scenarios

OSConfig has been testing in the following Operating System Deployment Scenarios

* Standalone (autounattend.xml)
* MDT Client Task Sequence
* MDT Upgrade Task Sequence
* ConfigMgr New PC Task Sequence
* ConfigMgr Upgrade Task Sequence
* Provisioning Packages

The flexibility of OSConfig makes this method of Operating System configuration **ideal**, as it is completely modular. This gives you the ability to freely to design whatever configuration you can script without any limitations.

## Supported Operating Systems

The OSConfig method has been tested on Windows 7 and Windows 10, and should work without issue on Windows Server deployments.

## Enterprise Customization

We all know what it looks like if you do nothing. This is simply not an ideal presentation for your Enterprise.  OSConfig uses Group Policy as the primary method of customizing the Operating System.

![](https://118121972-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmHrtEh3IN0vTzrXZ7Z%2F-LmI4x1gbz7utI3MPAK6%2F-LmI5Nrox4t-k74tgWWo%2Fimage.png?alt=media\&token=58692b19-3e59-4020-b156-5259e78c17b6)

## Group Policy

It's actually much easier to take all your Policies and Preferences and put them in Group Policy instead of having multiple steps and custom scripts in your Task Sequence

![](https://118121972-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmHrtEh3IN0vTzrXZ7Z%2F-LmI4x1gbz7utI3MPAK6%2F-LmI5Q0bzmWIQwTtJNS_%2Fimage.png?alt=media\&token=1f724139-6c19-4e63-9b59-6aa1e9a6f403)

## Local Copy

Once you have all your settings in Group Policy, simply copy the Policies from SysVol to your OS during deployment, or run in an SCCM Package.

![](https://118121972-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmHrtEh3IN0vTzrXZ7Z%2F-LmI4x1gbz7utI3MPAK6%2F-LmI5Ruu3-rpHhhMgE-s%2Fimage.png?alt=media\&token=74cad351-f7e6-4616-b1a3-a06424c39e1a)

## LGPO

Use Local GPO to apply these Policies

![](https://118121972-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmHrtEh3IN0vTzrXZ7Z%2F-LmI4x1gbz7utI3MPAK6%2F-LmI5U8FEGWD7Vz-4b98%2Fimage.png?alt=media\&token=8eb2ad55-3523-49f5-8cf5-bb306ff3609d)

## Apply Preferences with PowerShell

Since LGPO only applies Policies and not Preferences, simply add a PowerShell script to read the GPO Preferences and apply the settings (yes I will publish said script soon)

![](https://118121972-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmHrtEh3IN0vTzrXZ7Z%2F-LmI4x1gbz7utI3MPAK6%2F-LmI5VmAq4O5Lo7Pr5jE%2Fimage.png?alt=media\&token=ca68bf48-991c-4040-8eeb-9d76928fc922)

## Customized OS

And as soon as Windows starts for the first time, everything is configured exactly how you want it. Fully customized without multiple steps in the Task Sequence. Screenshots below were taken on first boot from OOBE without joining a Domain. All customizations are done locally, without separate Reg Hacks.

![](https://118121972-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmHrtEh3IN0vTzrXZ7Z%2F-LmI4x1gbz7utI3MPAK6%2F-LmI5YopvUuR_Ku0GGZV%2Fimage.png?alt=media\&token=24fc3257-385c-4a2a-a832-d6d1916dd7bc)

![](https://118121972-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmHrtEh3IN0vTzrXZ7Z%2F-LmI4x1gbz7utI3MPAK6%2F-LmI5_R2xf7FTAxxAnXz%2Fimage.png?alt=media\&token=39e88b69-4e8f-41da-b98c-1dcc8af90360)

![](https://118121972-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmHrtEh3IN0vTzrXZ7Z%2F-LmI4x1gbz7utI3MPAK6%2F-LmI5az7_xEa4x_LztyA%2Fimage.png?alt=media\&token=55595812-e70d-497c-86bc-02f73357c996)

![](https://118121972-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LmHrtEh3IN0vTzrXZ7Z%2F-LmI4x1gbz7utI3MPAK6%2F-LmI5cTbgYbgY1QwOMpK%2Fimage.png?alt=media\&token=50c72166-d954-421a-8212-7d2fc3977f2f)


---

# 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://osconfig.osdeploy.com/master.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.
