Sconfig 是一个简化管理的命令行工具,主要用于配置 Windows Server Core 环境中的基本服务器设置。它使得管理员在没有图形界面的环境中,也能轻松进行网络配置、系统设置等操作,方便高效地管理服务器。
使用服务器配置工具配置 Windows Server 和 Azure Local 的服务器核心安装 (SConfig) | Microsoft Learn



SConfig(Server Configuration Tool)是 Windows Server 操作系统中的一个命令行工具,旨在简化和加速服务器的初始配置过程。它的主要作用是为管理员提供一个易于使用的界面来配置基本的服务器设置,如网络配置、计算机名称、Windows 更新等。以下是 SConfig 在 Windows Server 中的发展时间线。
1. Windows Server 2012 (2012年)
- SConfig 引入:
SConfig首次引入在 Windows Server 2012 中。该工具是在没有图形用户界面的 Server Core 版本中推出的,旨在帮助管理员快速进行基础配置。- 由于 Server Core 安装选项没有传统的图形用户界面(GUI),管理员需要依赖命令行或 PowerShell 进行配置,而
SConfig提供了一个菜单式界面,使这些配置变得更加简单。 - 通过
SConfig,管理员可以轻松地进行以下配置:- 设置计算机名称
- 配置网络设置(如 IP 地址、DNS)
- 设置 Windows 更新
- 启用远程管理
- 启用或禁用远程桌面
- 配置时间区
- 管理本地用户账户
2. Windows Server 2016 (2016年)
- SConfig 功能增强:
- 在 Windows Server 2016 中,
SConfig继续得到改进,增加了更多的配置选项和更直观的界面。 - 管理员可以通过
SConfig进行更细粒度的服务器配置,例如:- 配置 Windows 防火墙
- 管理服务器的角色和功能
- 配置网络适配器
- 启用和配置 Windows 更新
- 通过对 Server Core 的持续优化,
SConfig成为了管理无 GUI 环境下 Windows Server 的重要工具。
- 在 Windows Server 2016 中,
3. Windows Server 2019 (2018年)
- SConfig 进一步优化:
- Windows Server 2019 延续了
SConfig的重要性,继续增强其功能并改善用户体验。 - 该版本中的
SConfig增加了对容器化和 Hyper-V 管理的一些支持,虽然其主要用途依然是简化 Server Core 的配置,但对新功能的支持使得管理员在配置虚拟化和容器服务时更为方便。 - 除了继续支持常见的服务器配置,还引入了增强的网络配置和集成的管理功能。
- Windows Server 2019 延续了
4. Windows Server 2022 (2021年)
- SConfig 在 Windows Server 2022 中的进一步增强:
- Windows Server 2022 提升了
SConfig工具的可靠性,尤其是在自动化和增强管理的方面。虽然大部分更新都与操作系统本身的安全性、虚拟化、混合云和容器功能相关,但SConfig继续保持其作为 Server Core 配置工具的重要角色。 - 这个版本中,
SConfig支持更多的现代化管理需求,且增强了对 Azure 集成和混合环境的支持。 - 在 Windows Server 2022 中,
SConfig主要关注的是高效管理更新、安全配置、性能调整和远程管理。
- Windows Server 2022 提升了
5. 持续改进
- 随着 Windows Server 版本的更新,
SConfig继续被更新和增强,尤其是在对 PowerShell 脚本和自动化管理的支持上。尽管越来越多的功能可以通过 Windows Admin Center 或远程管理工具来配置,但SConfig依然是无 GUI 环境下非常重要的配置工具。
从 Windows Server 2012 到 Windows Server 2022,SConfig 工具从最初的简单配置工具,发展成为一款功能完善、适用于无 GUI 环境下的服务器配置管理工具。它简化了管理员在 Server Core 环境中的配置流程,提高了效率。随着 Windows Server 版本的不断更新,SConfig 工具逐步增强,支持更多的现代化管理功能,尤其是在容器、虚拟化和远程管理等方面。
sconfig 工具在不同版本中的差异对比表格。由于 sconfig 是 Windows Server 的一种命令行工具,主要用于在 Windows Server Core 环境下进行基础配置。不同版本的 sconfig 可能会有不同的功能和选项,下面列出了常见版本(Windows Server 2012, 2016, 2019 和 2022)之间的差异:
| 功能/版本 | Windows Server 2012 | Windows Server 2016 | Windows Server 2019 | Windows Server 2022 |
|---|---|---|---|---|
| 计算机名称 | 支持设置计算机名称 | 支持设置计算机名称 | 支持设置计算机名称 | 支持设置计算机名称 |
| 网络设置 | 支持网络接口设置(IP 地址、子网掩码、DNS 配置) | 支持网络接口设置(IP 地址、子网掩码、DNS 配置) | 支持网络接口设置(IP 地址、子网掩码、DNS 配置) | 支持网络接口设置(IP 地址、子网掩码、DNS 配置) |
| 域/工作组 | 支持将计算机加入域或工作组 | 支持将计算机加入域或工作组 | 支持将计算机加入域或工作组 | 支持将计算机加入域或工作组 |
| 远程桌面 | 支持启用或禁用远程桌面功能 | 支持启用或禁用远程桌面功能 | 支持启用或禁用远程桌面功能 | 支持启用或禁用远程桌面功能 |
| Windows 更新 | 支持配置自动更新和手动安装更新 | 支持配置自动更新和手动安装更新 | 支持配置自动更新和手动安装更新 | 支持配置自动更新和手动安装更新 |
| 时区设置 | 支持设置时区 | 支持设置时区 | 支持设置时区 | 支持设置时区 |
| 日期和时间 | 支持设置日期和时间 | 支持设置日期和时间 | 支持设置日期和时间 | 支持设置日期和时间 |
| Windows Defender | 支持启用或禁用 Windows Defender 防病毒软件 | 支持启用或禁用 Windows Defender 防病毒软件 | 支持启用或禁用 Windows Defender 防病毒软件 | 支持启用或禁用 Windows Defender 防病毒软件 |
| 设置代理服务器 | 不支持设置代理服务器 | 不支持设置代理服务器 | 支持设置代理服务器 | 支持设置代理服务器 |
| 重启功能 | 不支持通过 sconfig 重启计算机 |
支持通过 sconfig 重启计算机 |
支持通过 sconfig 重启计算机 |
支持通过 sconfig 重启计算机 |
| PowerShell 访问 | 提供基本的 PowerShell 访问功能 | 提供基本的 PowerShell 访问功能 | 提供基本的 PowerShell 访问功能 | 提供基本的 PowerShell 访问功能 |
| Windows 版本升级 | 不支持直接通过 sconfig 升级版本 |
支持直接通过 sconfig 升级版本 |
支持直接通过 sconfig 升级版本 |
支持直接通过 sconfig 升级版本 |
主要差异:
-
Windows Server 2012:相较于后续版本,2012版本的
sconfig功能较为基础,缺少一些现代化的配置选项,如代理服务器配置和版本升级支持。 -
Windows Server 2016 及以后版本:逐步增强了配置功能,支持更多的配置选项,如代理服务器配置、通过
sconfig升级 Windows 版本等。这些版本提供了更多的管理能力,适合在企业环境中管理多个 Windows Server Core 实例。 -
重启功能:从 Windows Server 2016 开始,管理员可以通过
sconfig直接重启服务器,而不需要通过 PowerShell 或其他命令行工具。
- 如果您使用的是 Windows Server 2016 或更新版本,
sconfig工具的功能会更加完善和现代化,提供了更多的网络和安全配置选项,以及对代理服务器和版本升级的支持。 - Windows Server 2012 的
sconfig工具功能相对简化,适合基础的配置需求,而对于复杂的管理任务可能需要结合其他工具使用。
在 Windows Server 中,sconfig 是一个命令行工具,用于在 Windows Server Core 版本中配置和管理基本的服务器设置。Windows Server Core 是一种不带图形用户界面的 Windows Server 版本,通常用于提高安全性、减少资源消耗并提高性能。由于没有传统的图形界面,sconfig 提供了一个简便的命令行工具来执行一些常见的配置任务。
sconfig 工具的作用:
Sconfig 允许管理员通过一个简单的命令行界面快速配置和管理以下内容:
- 网络设置:可以配置 IP 地址、DNS 设置等。
- 计算机名称:设置和修改服务器的计算机名。
- Windows 更新:管理和检查系统更新。
- 远程桌面:启用或禁用远程桌面功能。
- 加入域:将服务器加入一个 Windows 域。
- 时间设置:配置服务器时间和时区。
- 计算机的管理工具:如启用和管理本地用户帐户、设置计算机的管理选项等。
- 关机、重启和注销:可以通过此工具进行关机、重启和注销操作。
如何使用 sconfig:
- 登录到 Windows Server Core。
- 在命令提示符下,输入
sconfig并按回车,进入sconfig配置界面。
界面会显示多个选项,通常会像这样:
Microsoft Windows Server 2019 Standard
(3) Network Settings
(1) Computer Name
(2) Domain/Workgroup
(4) Remote Desktop
(5) Windows Update
(6) Time Zone
(7) Date and Time
(8) Configure Windows Defender
(0) Exit
然后你可以输入对应数字来进行相应操作。例如:
- 输入 1 修改计算机名称。
- 输入 3 配置网络设置。
为什么使用 sconfig:
- 提高效率:管理员可以快速进行常见的配置任务,避免手动编辑系统设置或使用多个不同的命令。
- 简化操作:特别是在没有图形界面的 Windows Server Core 中,
sconfig提供了一个更为直观的管理界面。 - 减少错误:通过选项菜单的方式,减少了手动输入命令的错误概率。
Sconfig 是一个简化管理的命令行工具,主要用于配置 Windows Server Core 环境中的基本服务器设置。它使得管理员在没有图形界面的环境中,也能轻松进行网络配置、系统设置等操作,方便高效地管理服务器。
sconfig 工具功能的分类及其对应操作的表格:
| 功能分类 | 功能描述 | 操作选项 |
|---|---|---|
| 计算机名称 | 配置服务器的计算机名称 | 选项 1:修改计算机名称 |
| 网络设置 | 配置网络接口、IP 地址、子网掩码、DNS 等 | 选项 3:配置网络设置 |
| 域/工作组 | 将计算机加入域或工作组,管理域设置 | 选项 2:域/工作组设置 |
| 远程桌面 | 启用或禁用远程桌面功能 | 选项 4:配置远程桌面 |
| Windows 更新 | 管理和安装 Windows 更新 | 选项 5:配置 Windows 更新 |
| 时区 | 设置计算机的时区 | 选项 6:设置时区 |
| 日期和时间 | 设置计算机的当前日期和时间 | 选项 7:配置日期和时间 |
| Windows Defender | 配置 Windows Defender 防病毒设置 | 选项 8:配置 Windows Defender |
| 退出 | 退出 sconfig 工具界面 |
选项 0:退出工具界面 |
说明:
- 每个选项后面都有相应的操作,你只需要在命令行中输入数字(例如
1代表修改计算机名称),即可快速进入对应的配置选项。 - 这些功能可以在 Windows Server Core 中,通过命令行来简化管理流程,特别是没有图形界面的环境下。
| 功能分类 | 功能描述 | 操作选项 | 应用场景 |
|---|---|---|---|
| 计算机名称 | 配置服务器的计算机名称 | 选项 1:修改计算机名称 | 在初次安装操作系统后,或要为多个服务器分配独特的计算机名称时使用。常见于企业网络或大规模部署的环境。 |
| 网络设置 | 配置网络接口、IP 地址、子网掩码、DNS 等 | 选项 3:配置网络设置 | 用于设置静态 IP 地址,特别适用于服务器需要固定地址的场景。常见于数据中心、远程服务器和企业网络中。 |
| 域/工作组 | 将计算机加入域或工作组,管理域设置 | 选项 2:域/工作组设置 | 在企业网络中,通常需要将服务器加入域进行集中管理。在没有图形界面的情况下,使用 sconfig 快速配置。 |
| 远程桌面 | 启用或禁用远程桌面功能 | 选项 4:配置远程桌面 | 在没有物理访问服务器时,可以启用远程桌面功能进行管理。特别适用于数据中心管理、远程管理的场景。 |
| Windows 更新 | 管理和安装 Windows 更新 | 选项 5:配置 Windows 更新 | 用于确保服务器系统定期更新,安装安全补丁或修复漏洞。适用于对安全性有较高要求的生产环境。 |
| 时区 | 设置计算机的时区 | 选项 6:设置时区 | 在跨时区部署的服务器中,需要确保时区设置正确,避免日志、计划任务等出现时间错乱问题。 |
| 日期和时间 | 设置计算机的当前日期和时间 | 选项 7:配置日期和时间 | 用于确保服务器时间准确,尤其是数据库、日志记录和计划任务等需要准确时间戳的环境。 |
| Windows Defender | 配置 Windows Defender 防病毒设置 | 选项 8:配置 Windows Defender | 对于没有其他防病毒软件或没有图形界面的服务器,启用 Windows Defender 来确保基本的安全防护。 |
| 退出 | 退出 sconfig 工具界面 |
选项 0:退出工具界面 | 完成配置后退出 sconfig,返回命令行界面。适用于配置完成后,继续使用命令行操作其他任务的场景。 |
改进后的应用场景说明:
-
计算机名称:在设置新的 Windows Server Core 时,特别是在多个服务器并行部署的情况下,使用
sconfig工具修改计算机名称能快速有效地进行管理。 -
网络设置:当需要将 Windows Server Core 服务器配置为一个静态 IP 地址时,或服务器处于没有 DHCP 的网络环境中时,使用
sconfig配置网络设置,可以确保服务器在网络中能够稳定通信。 -
域/工作组设置:在需要将服务器加入域进行集中管理的企业环境中,
sconfig提供了一个简便的命令行方式来加入域。尤其是在数据中心中,管理员可以避免图形界面的干扰,直接通过命令行加入多个服务器。 -
远程桌面:对于没有物理访问的环境,启用远程桌面使得管理员可以方便地远程管理服务器。特别适用于远程数据中心管理或者云环境中的无头(headless)服务器。
-
Windows 更新:在生产环境中,及时安装系统更新对保障系统的安全性至关重要。管理员可以利用
sconfig快速检查和安装最新的安全更新。 -
时区设置:对于全球范围内部署的服务器,尤其是分布在多个时区的企业环境中,确保每台服务器的时区设置准确,可以避免跨时区操作时出现的混乱。
-
日期和时间:服务器时间设置正确对于各种任务(如定时任务、日志记录等)至关重要。
sconfig提供了简单的日期和时间配置,避免因为时间错误导致的潜在问题。 -
Windows Defender:虽然有些企业可能使用其他第三方防病毒软件,但在没有图形界面的 Windows Server Core 中,启用 Windows Defender 提供基本的防病毒保护,是确保系统安全的一个可行选项。
-
退出:当完成配置后,管理员可以退出
sconfig并继续通过命令行进行其他管理任务。适用于快速配置并返回到其他命令行操作的场景。
通过增加应用场景的说明,用户可以更好地理解 sconfig 的使用价值,并能根据自己的需求更有针对性地利用这个工具来配置和管理 Windows Server Core。
关闭自动启动Sconfig
每次进去到Server Core都会启动打开一个终端窗口,并且自动一个Sconfig, 要关闭这个行为只需要在命令行上运行:
Set-SConfig -AutoLaunch $false
如何启动新窗口
虽然自从Windows Server core 2022 之后,cmd.exe 窗口无法关闭,但是如果想启动一个新的窗口,可以按快捷键:Crtl + shift + ESC 启动Task Manager, 然后从文件 -> 运行新任务, 输入cmd.exe 或者 powershell.exe 打开新的窗口。
Windows Server激活以及Production Key管理工具
slmgr.vbs
这个工具主要就是用来管理激活以及产品key的主要工具,而且该工具还是自带帮助系统的,只需要输入slmgr.vbs, 不带任何参数,即会弹出一个窗口,显示所有的用法,如下图:
注意一个重要的缩写:slmgr == Software Licensing Management Tool
这样的话,我们可以使用如下的命令来更改产品的Key:
slmgr.vbs /ipk {Your Production Key}
使用如下的语句激活你的Windows:
slmgr.vbs /ato
使用如下语句用于查看激活的状态:
slmgr.vbs /dli
slmgr.vbs /xpr
更多的用法,使用上述的自动帮助系统可以详细的查看用法。
检查和设置更新状态以及自动更新
使用如下的PowerShell或者命令行来检查当前的更新设置:
PowerShell:
& $env:SystemRoot\system32\cscript C:\WINDOWS\system32\SCregEdit.wsf /AU /v
Cmd:
%systemroot%\system32\cscript %systemroot%\system32\scregedit.wsf /AU /v
为了启用启动更新
PowerShell:
Net stop wuauserv
& $env:SystemRoot\system32\cscript $env:SystemRoot\system32\scregedit.wsf /AU 4
Net start wuauserv
Cmd:
Net stop wuauserv
%systemroot%\system32\cscript %systemroot%\system32\scregedit.wsf /AU /v 4
Net start wuauserv
禁止自动更新
PowerShell:
Net stop wuauserv
& $env:SystemRoot\system32\cscript $env:SystemRoot\system32\scregedit.wsf /AU 1
Net start wuauserv
Cmd:
Net stop wuauserv
%systemroot%\system32\cscript %systemroot%\system32\scregedit.wsf /AU /v 1
Net start wuauserv
强迫Windows理解检查和安装更新
PowerShell:
wuauclt /detectnow
参考的Url: https://learn.microsoft.com/en-us/windows-server/administration/server-core/server-core-servicing?tabs=cmd%2Cupdate-powershell
使用PowerShell安装Windows更新
如果计划使用Powershell来安装更新,需要额外安装一个模块: PSWindowsUpdate:
-
安装模块: Install-Module PSWindowsUpdate -
检查 Windows更新:Get-Windowsupdate -
安装 Windows更新:Install-WindowsUpdate
启用远程桌面管理以及设置服务器可以ping通
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
netsh advfirewall firewall set rule group="remote desktop" new enable=Yes
允许ping
IPV4:
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
IPV6:
netsh advfirewall firewall add rule name="ICMP Allow incoming V6 echo request" protocol=icmpv6:8,any dir=in action=allow
禁止ping:
IPV4:
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=block
IPV6:
netsh advfirewall firewall add rule name="ICMP Allow incoming V6 echo request" protocol=icmpv6:8,any dir=in action=block
配置网络
可以使用powershell来配置网络:
取得网络的基本信息:
Get-NetAdapter
Get-NetAdapter -Physical | ? {$_.Status -eq "Up"}
Get-NetAdapter |Select-Object name,LinkSpeed,InterfaceOperationalStatus,MacAddress
Get-NetAdapter | Select -property *
设置静态IP地址:
Get-NetAdapter -Name Ethernet0| New-NetIPAddress –IPAddress 192.168.2.50 -DefaultGateway 192.168.2.1 -PrefixLength 24
如果静态地址已经设置,可以使用如下命令重新配置:
Set-NetIPAddress -InterfaceAlias Ethernet0 -IPAddress 192.168.2.90
移除静态IP地址:
Remove-NetIPAddress -IPAddress "xxx.xxx.xxx.xxx"
禁止DHCP:
Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Disabled
启用DHCP
Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Enabled
设置DNS:
Set-DNSClientServerAddress –InterfaceIndex 8 –ServerAddresses 192.168.2.11,10.1.2.11
清除DNS配置:
Set-DnsClientServerAddress –InterfaceAlias Ethernet0 -ResetServerAddresses
清楚DNS 缓存:
Clear-DnsClientCache
或者
ipconfig /flushdns
重启网卡:
Restart-NetAdapter -InterfaceAlias Ethernet0
关闭ipv6:
管理防火墙:
添加inbound规则:
New-NetFirewallRule -DisplayName "Allow Access Local Port 9000" -Direction Inbound -RemoteAddress {Remote IP Address} -Protocol TCP -LocalPort 9000 -Action Allow
根据端口找到防火墙规则:
Get-NetFirewallPortFilter | where {$_.LocalPort -eq '3389' } | Get-NetFirewallRule
禁止防火墙规则:
Set-NetFirewallRule -Name RemoteDesktop-UserMode-In-TCP -Enabled False
禁止ipv6:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" /v DisabledComponents /t REG_DWORD /d 0xFF /f
禁止ipv6要重启。
更改计算机名称以及加入域
更改计算机名称
rename-computer -NewName {新名字}
加入域
Add-Computer -DomainName {域名} -restart
查看系统日志
D:\MyProjects\mydocuments
❯ get-eventlog-list
Max(K) Retain OverflowAction Entries Log
-------------------------- ----------
20,480 0 OverwriteAsNeeded 28,947 Application
20,480 0 OverwriteAsNeeded 0 HardwareEvents
512 7 OverwriteOlder 0 Internet Explorer
20,480 0 OverwriteAsNeeded 0 Key Management Service
128 0 OverwriteAsNeeded 10 OAlerts
512 7 OverwriteOlder 0 PDW Component Failures
0 Security
20,480 0 OverwriteAsNeeded 21,491 System
512 7 OverwriteOlder 59 Visual Studio
512 7 OverwriteOlder 0 Windows Azure
15,360 0 OverwriteAsNeeded 8,189 Windows PowerShell
D:\MyProjects\mydocuments
❯ Get-EventLog-LogName Application | more
Index Time EntryType Source InstanceID Message
--------- --------- ------ -----------------
28947 3月 14 20:51 Information Software Protection… 1073758208 Successfully scheduled Software Protection service for re-start at 2125-02-18T12…
28946 3月 14 20:51 Information Software Protection… 3221241866 Offline downlevel migration succeeded.
28945 3月 14 20:30 Information Software Protection… 1073758208 Successfully scheduled Software Protection service for re-start at 2125-02-18T12…
28944 3月 14 20:30 Information Software Protection… 3221241866 Offline downlevel migration succeeded.
28943 3月 14 20:29 Information Software Protection… 1073758208 Successfully scheduled Software Protection service for re-start at 2125-02-18T12…
28942 3月 14 20:28 Information Software Protection… 3221241866 Offline downlevel migration succeeded.
D:\MyProjects\mydocuments
❯ Get-EventLog-LogName Application -EntryType Error | more
Index Time EntryType Source InstanceID Message
--------- --------- ------ -----------------
28907 3月 14 17:29 Error CertEnroll 3260678230 The description for Event ID '-1034289066' in Source 'CertEnroll' cannot be foun…
28877 3月 14 17:21 Error .NET Runtime 1023 Description: A .NET application failed.…
28791 3月 13 21:54 Error CertEnroll 3260678230 The description for Event ID '-1034289066' in Source 'CertEnroll' cannot be foun…
28790 3月 13 21:54 Error CertEnroll 3260678230 The description for Event ID '-1034289066' in Source 'CertEnroll' cannot be foun…
28752 3月 13 20:37 Error Application Hang 1002 The program SmartEngineHost.exe version 1.0.110.11301 stopped interacting with W…
D:\MyProjects\mydocuments
❯ Get-EventLog-LogName application -Index 28907 |select-Property *
EventID : 86
RunspaceId : 065a9d30-7751-4df6-bbc3-d9f227e867ad
MachineName : HongWei-Games
Data : {}
Index : 28907
Category : (0)
CategoryNumber : 0
EntryType : Error

浙公网安备 33010602011771号