PSC SConfig is a menu‑driven PowerShell toolkit for configuring and administering Windows (especially Server Core) systems after deployment. It ships with a friendly console UI, robust logging, and role‑aware menus that light up for Active Directory Domain Services and Hyper‑V when those roles are installed and more are about to be included.
This repo includes:
- The interactive tool (
psc_sconfig.ps1) - A lightweight module launcher (
psc_sconfig.psm1) so you can just typepsc_sconfig - Manual and automated installers (works with MDT)
- Optional role management menus (ADC/Hyper‑V) via
windowsfeaturemanagement.ps1
PSC SConfig is designed as a modern alternative to the built-in Microsoft SConfig utility.
While SConfig provides basic post-install configuration options for Server Core, it is intentionally minimal and not optimized for modern administrative workflows, role-aware configuration, or repeatable enterprise deployments.
PSC SConfig extends and modernizes this concept by providing:
- A structured, menu-driven interface
- Role-aware functionality (e.g.: AD DS, Hyper-V, HPE tooling)
- Robust logging and auditing
- Automation-friendly installation and execution
- Faster, more consistent post-deployment configuration for administrators
If you like my work, please support me: https://github.com/sponsors/PScherling
- Richer Hyper-V workflows for S2D and Shared Storage configurations
- File Server, Print Server, WSUS etc. workflows
- Simplify theming for the console header + report outputs
- PSC-SConfig Module update function
- OS/product/build (incl. UBR) and display version
- Uptime & last boot
- IP addresses info
- RAM (total/used/free) and per‑volume storage with GB/TB auto‑conversion
- Windows Defender Firewall profile status
- Windows Admin Center (WAC) / Azure Arc presence
- Windows Update policies & service status (WSUS/AU options)
- Diagnostic data (AllowTelemetry)
- Activation status
- Manufacturer and Model Information
- Hostname / Domain or Workgroup join/leave
- Network Interface configuration
- Remote Management (WinRM) enable/disable
- Remote Desktop enable/disable
- Windows Update configuration + WUA‑based update workflows
- Date/Time configuration
- Diagnostic data level
- Windows activation
- Local users & groups: add user, add admin, create group
- Actions: Refresh, Logoff, Restart, Shutdown, open terminal
- Active Directory Domain Services (AD DS) + DNS + GPMC → ADC menu
https://github.com/PScherling/Active-Directory-and-DNS-Initial-Configuration-Toolkit is required.- DNS server setup
- First domain controller promotion
- Post‑setup tasks
- Add additional domain controller
- Import “standard” GPO set & create central policy store
- Create OU template, standard groups/users, bulk group assignment
- Export/Import AD users (CSV)
- Hyper‑V (+ Hyper‑V PowerShell) → Hyper‑V menu
https://github.com/PScherling/Hyper-V-Server-Management-Toolkit is required.- Global paths (VHD/VM)
- NUMA spanning, Live/Storage migration, Extended Session Mode
- Virtual switch management, service control, status dashboard
- VM management
- iWARP config, S2D cluster creation (bootstrap)
https://github.com/PScherling/HPE-SPP-Installation-Toolkit is required.
Folder Structure:
C:\_psc\HPE\script.ps1
- HPE DL Server (HPE SPP) Update option
- Run interactively (iLO authentication required) for a manual install using a mounted ISO
- Colorized menu UI with clear prompts
- Detailed timestamped logging
- Disables legacy SConfig autolaunch (best effort) on start
| Path / Script | Purpose |
|---|---|
Data\ |
Copy payload for installers (module files, cmd/launchers, assets). |
Logfiles\ |
Runtime log location (created under C:\_psc\psc_sconfig\Logfiles). |
manual_Install-PSC_Sconfig.ps1 |
Manual/local installer (uses local .\Data payload). |
custom_Install-PSC_Sconfig.ps1 |
Automated (MDT/WDS) installer from a deployment share. |
Data\launch_psc_sconfig.bat |
For starting and auto-launching the module. |
Data\psc_sconfig.cmd |
For starting the main powershell script. |
Data\psc_sconfig.ps1 |
The main interactive Server Core configuration tool. |
Data\psc_sconfig.psm1 |
Module launcher: runs the tool in a new, maximized PowerShell window. |
Data\WinFeatureManagement\windowsfeaturemanagement.ps1 |
Role‑aware management menus for AD DS and Hyper‑V. |
The console header shows the current
$VersionNumberdefined inpsc_sconfig.ps1.
- Windows Server (Core recommended) or Windows with admin rights
- Run PowerShell as Administrator
- PowerShell 5.1+ (or PowerShell 7.x on Windows)
- For role menus: install the corresponding roles first (AD DS + DNS + GPMC, or Hyper‑V + Hyper‑V PowerShell)
- Local write access for logs and reports
- For HPE SPP Update: install the corresponding script on your HP Server (https://github.com/PScherling/HPE-SPP-Installation-Toolkit)
Pulls the payload from your deployment share and installs module + launchers.
Ensure that you change the user credential variables to what you need inside the installation script!
- Copies
\\<FileSrv>\DeploymentShare$\Scripts\custom\psc_sconfig\Data→C:\_psc\psc_sconfig - Creates module path:
C:\Program Files\WindowsPowerShell\Modules\psc_sconfig - Copies
psc_sconfig.psm1/.psd1into the module path - Copies
psc_sconfig.cmdintoC:\Windows\System32 - Imports the module
- Sets autostart (optional) and logs to a share
- Log upload to:
\\<FileSrv>\Logs$\Custom\Configuration
Run (as Admin) in your task sequence:
powershell.exe -ExecutionPolicy Bypass -File .\custom_Install-PSC_Sconfig.ps1Installs from local .\Data without any server dependency.
Upload the contents of 'Data' and the 'manual' installation script file from 'Source Files' somewhere to your system, where you want to install it like to "D:\TEMP".
Run (as Admin):
powershell.exe -ExecutionPolicy Bypass -File .\manual_Install-PSC_Sconfig.ps1
- Module:
C:\Program Files\WindowsPowerShell\Modules\psc_sconfig\ - Launcher:
C:\Windows\System32\psc_sconfig.cmd - Main tool:
C:\_psc\psc_sconfig\psc_sconfig.ps1 - Logs:
C:\_psc\psc_sconfig\Logfiles\psc_sconfig.log - Installer logs (pattern):
C:\_psc\Configure_psc_sconfig_<COMPUTER>_<YYYY-MM-DD_HH-mm-ss>.log - Desktop/Autostart (optional):
launch_psc_sconfig.bat
Update the installer variables (
$FileSrv, log share paths, etc.) for your environment.
Import-Module psc_sconfig
psc_sconfigpsc_sconfig.cmdor run the script directly:
powershell.exe -ExecutionPolicy Bypass -File "C:\_psc\psc_sconfig\psc_sconfig.ps1"You’ll see the PSC SConfig main menu. Use the numbered options to configure networking, join a domain, manage updates, users, and more. If AD DS / Hyper‑V roles are present, the corresponding role menus appear automatically.
- The main tool appends to:
C:\_psc\psc_sconfig\Logfiles\psc_sconfig.log - Installers write timestamped logs (and the automated installer can upload them to your central log share).
- Run only on trusted admin servers.
- Limit access to deployment and log shares.
- If you extend the tool to push configs remotely, apply least‑privilege and auditing.
- Role menus don’t appear → Confirm role prerequisites:
- AD DS menu requires AD‑Domain‑Services, DNS, and GPMC
- Hyper‑V menu requires Hyper‑V and Hyper‑V‑PowerShell
- WUA / update info missing → Ensure Windows Update service and WSUS policy keys are readable.
- Firewall/WAC/Arc status missing → Verify cmdlets/registry paths and permissions.
- SConfig still auto‑launches → The tool attempts to disable SConfig autolaunch; verify with
Get-SConfig/Set-SConfigbased on your environment.
- Windows Admin Center: https://learn.microsoft.com/windows-server/manage/windows-admin-center/
- Windows Update (WUA) API: https://learn.microsoft.com/windows/win32/wua_sdk/
- Hyper‑V docs: https://learn.microsoft.com/virtualization/hyper-v-on-windows/
- AD DS docs: https://learn.microsoft.com/windows-server/identity/ad-ds/
- BitLocker & security hardening (general): https://learn.microsoft.com/windows/security/
Author: Patrick Scherling
Contact: @Patrick Scherling
⚡ “Automate. Standardize. Simplify.”
Part of Patrick Scherling’s IT automation suite for modern Windows Server infrastructure management.