DevOps文化 & SRE实战分享平台

0%

Windows Server 2019 Core 基础配置


文章声明:此文基于木子实操撰写
生产环境:Windows Server 2019 Core
论证耗时:2h
撰文耗时:1h
校文耗时:30m
问题关键字:Windows Server 2019 Core 基础配置,开机自启动PowerShell


写在最前面

前面木子已经说到了Windows Server 2019 Core 虚拟机系统镜像制作,今天我们来聊聊Windows Server 2019 Core的基础配置,可能有很多同学觉得这个很简单,确实对于已经习惯使用PowerShell进行Windows服务器管理的同学来说确实很简单,但如果你之前一直用的是桌面版,那就没有这么简单了。

服务器IP、DNS、主机名等基础配置

Windows Server 2019 Core系统安装与其它Windows安装没有区别,在前面一篇的《Windows Server 2019 Core 虚拟机系统镜像制作》有讲到,只是启动以后的管理员密码设置等都采用了命令行模式,所以需要个人去习惯一下。如果你是一直做Linux系统管理的,你会发现你所熟悉的hostnamectl、ip add、nmtui命令都不管用了,你可能需要学习全新一套的命令管理工具。启动Windows Server 2019 Core后,会打开一个cmd.exe命令行窗口,微软官方提供了一个命令行工具sconfig帮助我们完成Windows IP、DNS、计算机名等基础设置。

PowerShell配置IP地址
除了可以使用sconfig命令进行IP设置外,还可以通过Powershell进行IP设置,详细如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#设置静态IP地址
#获取接口信息(记住对应网卡的IfIndex信息)
Get-NetIPAddress | ft InterfaceAlias,IPAddress,Type,InterfaceIndex
PS C:\Windows\system32> Get-NetIPInterface
ifIndex InterfaceAlias AddressFamily NlMtu(Bytes) InterfaceMetric Dhcp ConnectionState PolicyStore
------- -------------- ------------- ------------ --------------- ---- --------------- -----------
9 vEthernet (nat) IPv6 1500 5000 Enabled Connected ActiveStore
6 以太网 IPv6 1500 15 Enabled Connected ActiveStore
1 Loopback Pseudo-Interface 1 IPv6 4294967295 75 Disabled Connected ActiveStore
9 vEthernet (nat) IPv4 1500 5000 Disabled Connected ActiveStore
6 以太网 IPv4 1500 15 Disabled Connected ActiveStore
1 Loopback Pseudo-Interface 1 IPv4 4294967295 75 Disabled Connected ActiveStore
#重命名网卡名称
Rename-NetAdapter –Name “以太网” –NewName “Management”
#设置IP地址
New-NetIPaddress -InterfaceIndex 6 -IPAddress 192.168.201.198 -PrefixLength 23 -DefaultGateway 192.168.200.1
#设置DNS
Set-DNSClientServerAddress –InterfaceIndex 6 -ServerAddresses 223.6.6.6,114.114.114.114
#查看接口IP地址信息
Get-NetIPAddress 或 ipconfig /all

#设置为DHCP获取IP
Set-DnsClientServerAddress –InterfaceIndex 6 –ResetServerAddresses

修改计算机名称

1
2
3
4
5
6
#查看当前计算机名
hostname
#修改计算机名
rename-computer -computername K8S-Win-W01
#重启电脑生效
restart-computer

加域

1
2
3
4
5
6
#加域
add-computer -Domainname "oubayun.com"
#添加域用户至本地管理员组
net localgroup administrators /add oubayun\admin
#重启电脑生效
restart-computer

激活服务器

1
2
slmgr.vbs –ipk <productkey>
slmgr.vbs –ato

磁盘分区管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#获取当前磁盘信息
#这里可以看到磁盘2是Offline的
PS C:\Users\Administrator> get-disk

Number Friendly Name Serial Number HealthStatus OperationalStatus Total Size Partition Style
------ ------------- ------------- ------------ ----------------- ---------- ----------
2 Red Hat VirtIO Healthy Offline 1 GB RAW
0 Red Hat VirtIO Healthy Online 20 GB MBR
1 Red Hat VirtIO Healthy Online 100 GB GPT
#初始化磁盘2
#这时候会发现分区类型变成了GPT
PS C:\Users\Administrator> Initialize-Disk 2
Number Friendly Name Serial Number HealthStatus OperationalStatus Total Size Partition Style
------ ------------- ------------- ------------ ----------------- ---------- ----------
2 Red Hat VirtIO Healthy Online 1 GB GPT
0 Red Hat VirtIO Healthy Online 20 GB MBR
1 Red Hat VirtIO Healthy Online 100 GB GPT
#获取分区信息
#这里可以看到一个是C盘、还有一个D盘,并没有我们刚刚的磁盘2
PS C:\Users\Administrator> Get-Partition
DiskPath:\\?\scsi#disk&ven_red_hat&prod_virtio#4&17a799dd&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 17408 15.98 MB Reserved

DiskPath:\\?\scsi#disk&ven_red_hat&prod_virtio#4&273647fd&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 1048576 549 MB IFS
2 C 576716800 19.46 GB IFS

DiskPath:\\?\scsi#disk&ven_red_hat&prod_virtio#4&76168d4&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 17408 15.98 MB Reserved
2 D 16777216 99.97 GB Basic

#对磁盘2进行分区
#使用磁盘2当前最大可分区磁盘大小,并划分为F盘
PS C:\Users\Administrator> New-Partition -DiskNumber 2 -UseMaximumSize -AssignDriveLetter
DiskPath:\\?\scsi#disk&ven_red_hat&prod_virtio#4&17a799dd&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
2 F 16777216 1007.94 MB Basic

#格式化分区
PS C:\Users\Administrator> Format-Volume -DriveLetter F -FileSystem NTFS

DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining Size
----------- ------------ -------------- --------- ------------ ----------------- ------------- ----
F NTFS Fixed Healthy OK 991.11 MB 1007.93 MB

#再查看分区信息,就有C\D\F盘了
PS C:\Users\Administrator> Get-Partition
DiskPath:\\?\scsi#disk&ven_red_hat&prod_virtio#4&17a799dd&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 17408 15.98 MB Reserved
2 F 16777216 1007.94 MB Basic
DiskPath:\\?\scsi#disk&ven_red_hat&prod_virtio#4&273647fd&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 1048576 549 MB IFS
2 C 576716800 19.46 GB IFS

DiskPath:\\?\scsi#disk&ven_red_hat&prod_virtio#4&76168d4&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 17408 15.98 MB Reserved
2 D 16777216 99.97 GB Basic

#查看磁盘信息
PS C:\Users\Administrator> Get-Volume

DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus SizeRemaining Size
----------- ------------ -------------- --------- ------------ ----------------- ------------- ----
F NTFS Fixed Healthy OK 991.11 MB 1007.93 MB
D NTFS Fixed Healthy OK 99.87 GB 99.97 GB
E Unknown CD-ROM Healthy Unknown 0 B 0 B
系统保留 NTFS Fixed Healthy OK 515.36 MB 549 MB
C NTFS Fixed Healthy OK 2.16 GB 19.46 GB

#删除分区
PS C:\Users\Administrator> Remove-Partition -DiskNumber 2 -PartitionNumber 2
确认
是否确实要执行此操作?
This will erase all data on disk 2 partition 2.
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为“Y”): A
DiskPath:\\?\scsi#disk&ven_red_hat&prod_virtio#4&17a799dd&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}

PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 17408 15.98 MB Reserved
DiskPath:\\?\scsi#disk&ven_red_hat&prod_virtio#4&273647fd&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
PartitionNumber DriveLetter Offset Size Type
--------------- ----------- ------ ---- ----
1 1048576 549 MB IFS
2 C 576716800 19.46 GB IFS
DiskPath:\\?\scsi#disk&ven_red_hat&prod_virtio#4&76168d4&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
PartitionNumber DriveLetter Offset Size Type
2 D 16777216 99.97 GB Basic

#离线磁盘
PS C:\Users\Administrator> Set-Disk -Number 2 -IsOffline $True
PS C:\Users\Administrator> get-disk

Number Friendly Name Serial Number HealthStatus OperationalStatus Total Size Partition Style
------ ------------- ------------- ------------ ----------------- ---------- ----------
2 Red Hat VirtIO Healthy Offline 1 GB GPT
0 Red Hat VirtIO Healthy Online 20 GB MBR
1 Red Hat VirtIO Healthy Online 100 GB GPT
#再从虚拟机删除这个磁盘即可。

设置系统启动打开PowerShell

因为系统在每次启动的时候都是启动cmd命令行,正常来说我们都会需要转到PowerShell,通过设置注册表就可以在以后启动系统的时候直接启动PowerShell命令行了。

1
2
C:\Users\Administrator>powershell
PS C:\Users\Administrator> Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -name Shell -Value 'PowerShell.exe -noExit'

因为默认只会打开一个PowerShell窗口,如果一个窗口正好在做其它工作,而你又想同时进行另的操作,这时候会发现没有办法进行操作,有一个骚操作,就是通过ctrl+shift+del快捷键,调用任务管理器,在任务管理器新建一个powershell任务即可。



当然最好的方法是在一开始直接启动两个PowerShell窗口,这个只需要我们在第一个PowerShell窗口输入start powershell.exe命令即可。

Windows杀毒软件、防火墙配置

对于非生产环境,个人建议卸载杀毒软件及禁用防火墙,避免不需要的操作与麻烦。生产环境可以参考后续的《Windows Server 2019 Core 远程管理》一文。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#卸载杀毒软件
PS C:\Windows\system32> Uninstall-WindowsFeature -Name Windows-Defender
#禁用防火墙
PS C:\Windows\system32> Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled false

#启用以下服务,并设置开机自启动,这些服务是管理必须的。
Set-Service -Name PlugPlay -StartupType Automatic
Start-Service PlugPlay
Set-Service -Name RemoteRegistry -StartupType Automatic
Start-Service RemoteRegistry
Set-Service -Name vds -StartupType Automatic
Start-Service vds

#重启服务器
PS C:\Windows\system32> Restart-Computer -Force

设置时区、区域

1
2
3
4
# 设置时区
control timedate.cpl
# 设置区域
control intl.cpl

写在最后面

关于Windows Server 2019 Core的基础配置,我们就简单聊到这里,希望对各位同学有所帮助。下一篇博文我们来简单聊一下Windows Server 2019 Core远程管理的配置。

坚持原创技术分享,您的支持与鼓励,是我持续创作的动力!