标签: Core

  • Windows Server Version 1709 管理之入门篇

    相信有部分同学们会有这样的体验,在公有云上购买了Windows Server Version 1709数据中心版的虚拟机,通过远程连接进去之后,里面全是黑乎乎的一个命令行,其它啥也没有。是不是中毒了?系统坏了???这,一脸懵懂啊。

    首先,请不要惊慌,系统是正常的。

    什么是 Windows Server, version 1709?

    Windows Server, version 1709 运行在服务器核心(Server Core)模式下。这意味着没有图形用户界面。为啥要这样做?根据微软的说法:它可以提供强大的优势,如硬件要求较低、攻击面更小并且减小了更新需求(减小了更新需求,这一点我无法认同,其他的还可以接受)。而且在这一版本里,微软没有提供图形界面到 Server Core的转换。可能是在Windows Server 2012/R2里,图形界面到Server Core的转换经常会出错,在2016里就简单粗暴一点,一旦安装,禁止转换。到了1709,直接就没有图形界面了。Server Core和普通的带GUI图形界面的Windows Server 的主要区别如下:

    1.资源管理器没有了。我们熟悉的Windows Explorer,无法出现在Server Core里。

    2.所有依赖MMC的控制台界面没有了。也就是说运行*.msc将不会工作。例如:我们无法通过运行devmgmt.msc打开设备管理器了。

    3.除了区域和语言及时间,其他的控制面板选项也没有了。

    4.比较”著名”的IE也没有了。

    Windows 管理工具简介

    可能是为了像Linux看齐吧,Windows Server Version 1709更像Linux风格。很多习惯了Windows操作界面的人(用Windows 不用图形界面,生活将毫无意义:), 对Server core的使用无从下手。本节会提供几个Windwows 管理大杀器:PowerShell和 Project Honolulu等并对此作简单介绍。

    PowerShell

    幸亏有了PowerShell, 让 Windows 从传统的DOS命令行和批处理中解放了生产力。PowerShell 之父 Jeffrey Snover,在加入微软之前是搞Linux的。所以,我们可以在PowerShell里随处看到Linux Shell的影子如ls, wget, curl 等。但PowerShell绝对不是shell的简单升级。PowerShell 依赖.NET Framework实现了强大的面向对象的脚本。随着.NET FrameWork的开源和跨平台,PowerShell Core在Linux上也已经正式推出。微软命名从来都是很低调的,但PowerShell命名直接就带了一个Power,可见此功能的强大。Jeffrey 在发明了PowerShell这后,直接就晋升为微软的Distinguished Engineer并且主导了Windows Server 2012的架构设计(跑远了,回来)。在Windows Server Version 1709里打开PowerShell很简单,直接在命令行里输入 PowerShell(大小写不敏感)就可以打开PowerShell进行操作了。

    PowerShell还可以像SSH那样远程管理Windows 机器。以下示例在工作组的环境下如何配置PowerShell远程,假定被管理的机器IP是 172.16.158.183。

    在被管理的机器上,运行以下PowerShell命令:

    1.如果安全组有限制, 请开放对此机器入方向的5985(HTTP)和5986(HTTPS)端口。

    2.在客户端机器上(需要远程连接被管理的机器上),运行以下命令以接受被管理的机器是受信任的。如果想管理任何机器,替换 172.16.158.183 为 *。

    否则执行下一步Enter-PsSession可能报以下错误:

    Enter-PSSession : 连接到远程服务器 172.16.158.183 失败,并显示以下错误消息: WinRM 客户端无法处理该请求。如果身份验证方案与 Kerberos 不同,或者客户端计算机未加入到域中, 则必须使用HTTPS 传输或者必须将目标计算机添加到 TrustedHosts 配置设置。 使用 winrm.cmd 配置 TrustedHosts。请注意,TrustedHosts 列表中的计算机可能未经过身份验证。 通过运行以下命令可获得有关此内容的更多信息: winrm help config。 有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。

    所在位置 行:1 字符: 1

    Enter-PSSession ‘172.16.158.183’ -Credential:’administrator’

    CategoryInfo : InvalidArgument: (172.16.158.183:String) [Enter-PSSession],PSRemotingTransportException FullyQualifiedErrorId : CreateRemoteRunspaceFailed

    这样,在客户端机器上通过以下PowerShell命令就可以远程”SSH”到被管理的机器上了。(该输入密码还是要输入密码)

    Microsoft Project Honolulu

    微软在1709发布时同时也宣布了一个叫火奴鲁鲁的项目。火奴鲁鲁是美国夏威夷州首府和港口城市。华人称之为檀香山(又跑远了)。火奴鲁鲁项目是一个基于浏览器的图形管理工具。他是在Server Core里替代Server Manager 和MMC的管理工具。火奴鲁鲁可以从以下网站下载:https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-honolulu火奴鲁鲁管理配置方法:

    1.在被管理的Server 1709机器上,运行以下PowerShell命令:

    1.如果安全组有限制, 请开放对此机器入方向的5985(HTTP)和5986(HTTPS)端口。

    2.(第3步和第4步只需要做一步就可以了。)下载并安装火奴鲁鲁工具并安装在被管理的Server 1709机器上。

    首先介绍在Server 1709机器上安装。笔者使用了以下PowerShell命令在被管理的机器上下载了这个msi工具。

    wget -Uri http://download.microsoft.com/download/E/8/A/E8A26016-25A4-49EE-8200-E4BCBF292C4A/HonoluluTechnicalPreview1802.msi -UseBasicParsing -OutFile c:\HonoluluTechnicalPreview1802.msi

    下载完后用以下命令行执行安装。命令是立即返回的。

    msiexec /i c:\HonoluluTechnicalPreview1802.msi /qn /L*v log.txt SME_PORT=443 SSL_CERTIFICATE_OPTION=generate

    要验证是否安装成功,可以使用PowerShell命令 cat log.txt查看安装结果。如果有以下字样,表明安装成功。

    MSI (s) (14:44) [09:48:37:885]: Product: Project ‘Honolulu'(技术预览版) — Installation completed successfully. MSI (s) (14:44) [09:48:37:885]: Windows Installer 已安装产品。产品名称: Project ‘Honolulu'(技术预览版)。产品版本: 1.1.10326.0。产品语言: 1033。制造商: Microsoft Corporation。安装成功或错误状态: 0。

    3.(第3步和第4步只需要做一步就可以了。)此工具也可以安装在任何一个作为PowerShell远程的客户端机器上。

    可以用浏览器下载并安装.

    安装完成后,可以打开 https://localhost/ 然后添加我们需要管理的Server 1709的机器的地址。

    4.安装完成后,可以通过任何可以访问到安装了火奴鲁鲁的机器的浏览器打开。很意外的,居然不支持IE浏览器。必须要Microsoft Edge或者Chrome。

    Sconfig

    这个工具在Server Core诞生的那一天就有。不过现在被隐藏了。在命令行中输入sconfig就能出现此命令。能满足基本需要,功能不是很强大。

    远程Server Manager

    这个是目前主要的管理形式,不过只读功能较多,可以操作的配置很少。暗地里已经被Project Honolulu取代,因此本文不做描述。

    管理 Windows Server, version 1709的常见操作FAQ

    如何拷贝文件到Server 1709?

    这里假定要复制的文件在客户端机器上。通过PowerShell远程和通过Project Honolulu的方法都在客户端机器和Server 1709的被管理机器已经按上面的方法进行了配置。

    通过远程RDP

    1.在客户端机器上,右击文件并选择复制。

    2.远程mstsc 到Server 1709上。

    3.在远程机器上打开notepad.依次 文件 -> 打开。在打开对话框里,选择一个盘的路径,右击粘贴。文件就复制过来了。这是我最喜欢的一种方法。

    通过PowerShell远程

    在客户端机器上运行以下PowerShell命令即可:

    C:1.txt是客户端机器的文件位置。C:2.txt是要拷贝到目标机器上的位置。

    通过Project Honolulu

    依次点击被管理的机器-> 文件 -> 上传。

    如何从内部关闭或者重启Server 1709虚拟机?

    通过远程RDP

    1.远程RDP到Server 1709上。

    2.在命令行里输入sconfig, 然后根据需要选择13 -重启,14-关机并回车就可以了。

    3.或者输入以下命令行/PowerShell直接重启或者关机:

    通过PowerShell远程

    在客户端机器上运行以下PowerShell命令即可:

    通过Project Honolulu

    依次点击被管理的机器-> 概述。

    如何安装IIS服务?

    通过远程RDP

    1.远程RDP到Server 1709上。

    2.在命令行里输入PowerShell, 然后再执行以下PowerShell命令:

    通过PowerShell远程

    在客户端机器上运行以下PowerShell命令即可:

    通过Project Honolulu

    依次点击被管理的机器-> 角色和功能 -> 选择 Web服务器 并确定需要的功能。

    不小心在RDP会话中关闭了命令行窗口怎么办?

    如果在远程会话中不小心关闭了命令行窗口,可以通过远程桌面发送 Ctrl + Alt + Del组合键,在出现的界面选择 任务管理器 回车后出现任务管理器,依次点 文件 -> 新建任务,输入cmd就可以了。

  • Windows Server 2012 GUI与Core的切换方法

    Windows Server 2012 GUI与Core的切换方法

    Windows Server 2008 系统上开始引入的极小的服务器安装选项,server core 的作用就是为特定的服务提供一个可执行的功能有限的低维护服务器环境,为我们带来了提升服务器的稳定性、减少软件维护量、降低被攻击风险、更少的空间占有率等益处。

    在 Windows Server 2012 中,管理员可以直接在Server Core版本和GUI版本之间切换,不需要在进行重装系统。简化了管理员选择操作系统界面版本的复杂程度和今后进行切换的难易程度,这些操作只需要Powershell就可以完成。

    (本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

    1.首先,来看看在GUI界面下切换到Server Core的操作,打开Powershell,执行Uninstall-WindowsFeature Server-Gui-Mgmt-Infra -Restart,命令完成后会自动重启服务,即切换为Server Core界面

    2.重启完毕后,登录到服务器,在命令行执行sconfig进入到服务器配置,在这里可以对服务器进行配置,能够执行修改计算机名、加入域,网络设置等操作。也可以运行MMC.exe并使用任何管理单元。

    3.接下来,退出到命令行,输入powershell,准备进行GUI界面的还原。

    (本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

    4.在powershell中执行Install-WindowsFeature Server-Gui-Shell –Restart来完成GUI界面的安装,并自动重启。

    5.重启完后,又回到了GUI界面。(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)