Windows Server Core 管理与 PowerShell 笔记(一)———— 基础配置

2019-04-03 267 Words Windows Powershell

Windows Server Core 管理与 PowerShell 笔记(一)———— 基础配置

一、Windows Server Core 简介

Windows Server Core 是一个没有完整窗口界面的 Windows Server 版本。在安装 Windows Server 时,如果不选择安装“桌面体验”版本的 Window Server,那么则会安装 Windows Server Core。

启动 Windows Server Core 之后,就会默认打开一个 CMD 窗口。需要启动软件时,可以通过命令启动。另外,按下 Ctrl+alt+Del 可以打开管理界面。任务管理器中也可以启动新任务。除此之外,开始菜单、桌面、文件浏览器一概没有。

Windows Server Core 有如下好处:

  1. 没有完整的 GUI 界面,使得内存和硬盘占用更小,特别适合各种虚拟化环境。
  2. 没有 Internet Explorer、文件管理器、服务器管理器等常用应用,使得系统的攻击面更小。
  3. 可以更加快速的安装、部署和启动在各种容器虚拟化之中。

与此同时,也会有一些问题:

  1. 没有很多应用导致没有办法像正常的 Windows 图形界面那样使用和管理 Windows,只能够通过 PowerShell 来进行管理。
  2. 可能会导致部分功能缺失,比如缺少Internet Explorer,在使用 Invoke-WebRequest 命令(对应 wget)时,必须使用 -UseBasicParsing 参数,否则会调用并没有安装的浏览器组建来解析内容,因此会报错。
  3. 都这样了,为什么不用 Linux 呢? 我也不知道!

二、PowerShell 管理 Windows Server 基本配置

本文即以后可能的命令对于图形界面的 Windows 各种版本都能够使用(其实可以极大的提高桌面 Windows 的使用效率)。

下面是一些常用的 PowerShell 配置命令:

2.0 获取帮助

PowerShell 的所有命令都可以使用 Get-Help 命令来获取帮助。比如:

PS C:\Users\ertuil>  Get-Help Set-Location

名称
    Set-Location
语法
    Set-Location [[-Path] <string>]  [<CommonParameters>]
    Set-Location  [<CommonParameters>]
    Set-Location  [<CommonParameters>]
别名
    sl
    cd
    chdir
备注
    Get-Help 在此计算机上找不到该 cmdlet 的帮助文件。它仅显示部分帮助。
        -- 若要下载并安装包含此 cmdlet 的模块的帮助文件,请使用 Update-Help。
        -- 若要联机查看此 cmdlet 的帮助主题,请键入: "Get-Help Set-Location -Online" 或
           转到 https://go.microsoft.com/fwlink/?LinkID=113397。

如果需要获取离线文档,需要使用 Update-Help 来更新帮助文档,或者使用 “-Online” 参数获取在线文档。另外一个重要的技巧是使用 “-Example” 参数直接获取命令使用例子。

另外一个命令是 Get-Command 这个命令可以查找所有相关的命令。比如:

PS C:\Users\ertuil> Get-Command "help"

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Function        help

这个命令可以按照模块查找,比如 Get-Commane -Module "DNSServer" 查找 DNSServer 模块的所有命令。

2.1 关机和重启

关机的命令是 Stop-Computer ,而重启的命令是 Restart-Computer。如果需要查看计算机的属性可以通过 Get-ComputerInfo 来获取,不过这个命令输出太多参数,所以一般需要使用其他命令来获取具体细节。

2.2 设置计算机名称以及加入域

通过命令 Restart-Computer <computer name> 来设置计算机名称,通过Add-Computer 来加入网络中的某一个域。关于域和活动目录的管理,将在之后说明。

2.3 设置网络

通过命令 Get-NetIPAddress 来获取网络配置,也可以通过 Get-NetIPInterface 来获取网络设备(网卡、虚拟交换机)的信息。注意每一个网卡都有一个 ifIndex 的属性,其后设置网络参数时候,需要通过这个属性来制定设定的网卡对象。

设定 IP 地址可以使用类似下面的命令来进行:

Set-NetIPAddress -InterfaceIndex 12 -IPAddress 192.168.0.1 -PrefixLength 24

也可以使用下面的命令来设置 DNS:

Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses "192.168.122.2" # 指定为 192.168.122.2
Set-DnsClientServerAddress -InterfaceIndex 12 -ResetServerAddresses # 重设 DNS 服务器地址

其中的 InterfaceIndex 就是前文指出的 ifIndex 的值。

2.4 综合配置

旧版的 Windows CMD 命令 sconfig 命令依然没有被取消,你依然可以使用这个命令来完成绝大部分系统的配置,下面是程序主界面截图:

===============================================================================
                         服务器配置
===============================================================================

1) 域/工作组:                   工作组:  WORKGROUP
2) 计算机名:                    CTFWEB
3) 添加本地管理员
4) 配置远程管理                 已启用

5) Windows 更新设置:            仅下载
6) 下载并安装更新
7) 远程桌面:                    已启用(仅更安全的客户端)

8) 网络设置
9) 日期和时间
10) 遥测设置未知
11) Windows 激活

12) 注销用户
13) 重新启动服务器
14) 关闭服务器
15) 退出到命令行

输入数字以选择选项:

三、总结

这里主要记录了几个 Windows 使用 PowerShell 的常见配置命令。下面将会记录文件操作、权限设置和服务器管理等。