Skip to content

PScherling/Server-Core-Configuration-Toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

111 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

PowerShell Platform Audience Server Core Maintenance

PSC SConfig – Server Core Configuration Toolkit

image image

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 type psc_sconfig
  • Manual and automated installers (works with MDT)
  • Optional role management menus (ADC/Hyper‑V) via windowsfeaturemanagement.ps1

📌 Why PSC SConfig?

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

Sponsorship

If you like my work, please support me: https://github.com/sponsors/PScherling


🧭 Coming Features / Ideas

  • 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

✨ What PSC SConfig does

System overview (read‑only dashboard)

  • 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

One‑key configuration actions

  • 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

🧩 Role‑aware add‑ons (auto‑detected)

  • 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)

🧩 HPE‑aware add‑ons (auto‑detected)

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

Admin experience

  • Colorized menu UI with clear prompts
  • Detailed timestamped logging
  • Disables legacy SConfig autolaunch (best effort) on start

📦 Repository Contents

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 $VersionNumber defined in psc_sconfig.ps1.


🧱 Requirements

  • 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)

🔧 Installation

A) Automated (MDT/WDS) – custom_Install-PSC_Sconfig.ps1

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\DataC:\_psc\psc_sconfig
  • Creates module path: C:\Program Files\WindowsPowerShell\Modules\psc_sconfig
  • Copies psc_sconfig.psm1/.psd1 into the module path
  • Copies psc_sconfig.cmd into C:\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.ps1

B) Manual (Local) – manual_Install-PSC_Sconfig.ps1

Installs 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
image image image image image image image

⚙️ Configuration & Paths

  • 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.


🚀 Usage

Start via Module (recommended)

Import-Module psc_sconfig
psc_sconfig

Start via Command

psc_sconfig.cmd

or 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.


📝 Logging

  • 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).

🔐 Security Notes

  • 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.

🛠️ Troubleshooting

  • 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-SConfig based on your environment.

🔗 References


👤 Author

Author: Patrick Scherling
Contact: @Patrick Scherling


“Automate. Standardize. Simplify.”
Part of Patrick Scherling’s IT automation suite for modern Windows Server infrastructure management.

About

PowerShell module for windows server core system configurations.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors