您的位置:新葡亰496net > 服务器网络 > 新葡亰496net:学习笔记,0给IT管理员的惊喜

新葡亰496net:学习笔记,0给IT管理员的惊喜

发布时间:2019-07-21 03:30编辑:服务器网络浏览(83)

    在Windows Server 8中,微软完全重新设计了服务器管理Server Manager)控制台。

    2012年9月18日,微软新一代服务器操作系统Windows Server 2012正式面向中国市场发布。让我们也近距离接触,微软号称"云操作系统"带来的体验。

    写在前面:

    最新发布的Windows Management Framework (WMF) 3.0 包含了PowerShell 3.0这个针对系统管理员的命令行脚本工具。同时也包括了Windows Management Instrumentation(WMI)和Windows Remote Management (WinRM)的升级以及一种新的OData的IIS扩展。

    刚刚安装了Windows Server 2008,简单写一下对微软最新产品的体验。

    尽管它在Windows Server 8发布之前仍会保持安静,但是关于新控制台如何影响管理员工作流程,不管是正面的还是负面的,开发者预先发行版都提供了一些线索。

    作为Windows Server家族中的新成员,Windows Server 2012融合了强大的新型管理工具,帮助IT部门更为广泛的管理任务,实现集中化管理和自动化管理,从而提高数据中心的运行效率。

    Windows Server 2008 R2发布有一段时间了,我于2009年11月份开始体验R2,整体感觉非常不错,建议有实验条件的开发人员都体验一下,即使是在虚拟机中。Windows Server 2008 R2中IIS的版本也升级到了7.5,在平时工作学习中经常遇到IIS出现各种各样的问题,归根到底是对IIS的底层实现机理不甚了解,决定有体系的学习一下。本人Windows Server经验薄弱,措辞不当之处请广大同行前辈多多指教。

    据微软所说,PowerShell现在包含了2,400个cmdlet。 3.0版本引入了无连接会话(disconnected sessions)、工作流、计划任务、 cmdlet发现、管理代理(delegated administration),同时使用了更接近自然语言的语法。新版本适用于Windows 7 SP1,Windows Server 2008 R2 SP1 和Windows Server 2008 SP2 (已经内建于Windows 8和Windows 2012)。

    1、定制的服务器Server Core。从Windows Server 2008开始,系统中那些不是每个用户都用到的功能将会变成可选安装包,取而

    多服务器管理

    特别值得一提的是Powershell 3.0,通过简单的命令行,即可获得全面、适应性高、简单的自动化管理方式,这就是PowerShell 3.0给我们带来的全新体验。

    示例代码下载

    WMI的新功能包括:

    代之的是预先定义好的系统角色(借鉴Linux的优点)。

    在新版服务器管理器中微软已经完成的一件事情是同时并按角色管理多台服务器的功能。例如,服务器管理器会让同时执行文件服务器上的配置任务成为可能,而不需要像现在这样单独配置每台服务器。

    新葡亰496net 1

    本系列所有示例代码均在 Windows Server 2008 R2 DataCenter(IIS 7.5) Visual Studio 2010 Ultimate RC 下测试通过。

    • 使用非托管代码(native code)编写PowerShell cmdlet
    • 一个新的MI(management infrastructure),它是用于CIM操作的客户端API,这使得PowerShell能够管理非Windows平台的服务器和设备
    • 一种简化的提供程序(provider)开发模型

    Server Core是Windows Server 2008中一种全新的安装模式,是针对每个版本的核心服务的安装。Server Core只安装Windows

    在单次操作中能够管理多台服务器会帮助提高管理效率,但是这还有其它好处。

    Powershell 3.0内置在Windows 8 client 和windows server 2012。 通过服务器管理器集成控制台,可以统一管理配置多台服务器,让用户更快速、更敏捷的响应管理事件,同时,通过PowerShell 3.0,可以实现更广泛的自动化管理。

     

    WinRM的连接性得到了升级,它提供了更安全、更健壮的会话机制,在会话中断时能够自动重启。另外,同一管理员发起的多个PowerShell会话现在可以运行在同一进程中,而不再需要运行多个进程。

    Server 2008中最核心的服务程序,并且没有图形界面,所有的操作全部由命令行来完成。Server Core不仅安装的时间要比完全版

    微软声称,Windows Server 8的优先部署类型会是服务器核心。但是不像Windows Server 2008,它可以以完全的GUI部署开始,在管理员开始习惯通过PowerShell管理服务器后卸载GUI。

    Powershell 3.0作为Windows Management Framework 3.0的一部分,集中体现了Powershell 3.0的新特性:Powershell工作流、增强会话灾难恢复、语法简洁方便、增强了cmdlet的查找和自动导入模块的功能、提供了对webservice强大支持和ISE命令加载项等。

    一、IIS 7.5概述

    Management OData IIS扩展是一种用于从Windows客户端和非Windows客户端进行基于网页管理(Web-base administration)的OData服务。

    本的Windows Server 2008快很多,由于没有可能用不到的服务和图形界面,Server Core也能为服务器争取更多的性能。如果你的

    PowerShell对于执行涉及到多台服务器的批量操作来说很好用。在新的服务器管理控制台执行这些相同类型的操作将帮助那些对PowerShell小心翼翼的管理员习惯使用与在PowerShell中执行相同的基础方法执行任务。

    随着Windows Server 2012的发布,微软明确PowerShell 3.0作为其服务器平台底层管理标准。最新的PowerShell 3.0包含了大量全新的cmdlets,实现服务器和Windows 8桌面的管理和自动化,其中也包括有超过1000条cmdlets的Hyper-V。

    园子里有朋友介绍了IIS 7.5的新特性,很全面,翻译的很好。由于写的较早,当时还只是Windows Server 2008 R2 Beta,现在我就用Windows Server 2008 R2 DataCenter正式版来适当补充一下吧:)

    服务器是配置好后基本不动的那种,例如DNS服务器、WWW服务器、Data服务器等等,那Server Core就是你最好的选择,你可以把

    微软甚至可能通过借用Exchange Server在减少PowerShell学习过程上更进一步。Exchange管理控制台内置在PowerShell的顶部,就像新的服务器管理控制台。当你在Exchange管理控制台上执行一项操作时,控制台实际上显示用来执行操作的PowerShell命令大概是为了让管理员更习惯使用PowerShell)。现有的服务器管理构造还没有这么做,但是如果你微软看到在之后的构造中展示基础的PowerShell命令,这也不令人惊讶。

    在过去几年中,微软增加了PowerShell脚本语言的戏码,通过它搭建很多产品的管理体系,最为着名的就是Exchange 2010。而PowerShell 3.0的出现将作为Hyper-V管理任务和命令的基础组件。最终所有的微软图形界面管理工具都会把PowerShell作为底层执行命令。如,系统管理员可以通过底层执行PowerShell cmdlets的Systems Center系列管理工具,管理Windows Server role,如Hyper-V。

    新葡亰496net 2

    Server Core看作是微软为特定服务器开发的定制版本。

    构造的头痛之处

    获取Powershell 3.0可以用两种方式:一种是内置,一旦装上了Windows 8 client或者Windows Server 2012则默认的Powershell版本就是Powershell 3.0;另外一种方式,就是下载,如果服务器安装了Windows Server 2008、Windows Server 2008 R2或Windows 7,也可以下载Powershell 3.0,不过Powershell 3.0 需要.NET 4.0的支持。

    虽然写的是IIS7.0,但是同样适用于IIS7.5.

    2、功能强大的Powershell

    除了在PowerShell顶部构建服务器管理器,微软还做了另一项重大的架构改变,这项举动可能会让一些管理员感到惊讶。之前版本的服务器管理器直接与基础的操作系统互动。但是新版的服务器管理器把每个会话当作远程会话,即使管理员管理的是一台本地服务器。

    Server 2012正式面向中国市场发布。让我们也近距离接触,微软号称云操作系统带来的体验。...

    在【开始】--【运行】,输入:inetmgr,打开IIS管理器:

    Powershell是Windows Server 2008中内置的一个命令行工具,但实际上能够完全取代图形界面的管理工具。Powershell不仅仅是

    微软在Exchange 2010中对Exchange管理控制台做了相同的事情。这个改变意味着即使是管理员想管理本地服务器也必须有一些适当的依赖来帮助远程连接。这些依赖是WinRM、WSMan和IIS。服务器管理器几乎是以相同的方式工作。如果你看看图1,你可以看到IIS万维网发布服务)和WinRMWindows远程管理)都是默认启用的。

    新葡亰496net 3

    Cmd命令的升级,其重要改进有三点:第一,Powershell比Cmd拥有更多的命令,在图形界面中可以完成的功能,Powershell都可以

    新葡亰496net 4新葡亰496net, 
    图1:服务器管理器中的远程连接

     

    实现。这一点熟悉Windows Server 2003的朋友应该很清楚,甚至有些无法用图形界面完成的功能,通过Powershell也可以轻松实

    尽管这个架构上的转变也许看起来微不足道,但是毫无疑问它将带来很多来自管理员的支持电话,他们还没有意识到这些根本需求。

    可以看到,虽然显示的是Internet Information Services 7,但是在关于窗口看以看出明确的版本号:7.5.7600.16385

    现。第二,Powershell更好的支持脚本管理,这让服务器的管理效率提高了很多。比如建立新账户这样一个简单的操作,一般是通

    传统操作

    新葡亰496net 5

    过图形界面来完成的,但是如果现在需要建立1万个新账号或100万个新账号,恐怕用图形界面建立就需要很长很长的时间了。这种

    新版的服务器管理器没有向后兼容之前版的Windows。微软计算最终发布一个附加组件来实现服务器管理器对Windows Server 2008 和Windows Server 2008 R2的管理,但是没有类似的附加组件可用于更加古老的Windows Server操作系统。

    IIS 7.5是对IIS7的一次升级,是IIS的最新版本,园子里也有朋友做了介绍,这里只列了个纲要:

    情况下我们可以建立一个脚本,将变量设置成1到100万,再通过Powershell导入脚本运行就可以了。第三,Powershell可以和微软

    过时的显示

    • 集成扩展(Integrated extensions)

      • Web分布式创作版本管理和文件传输服务(WebDAV and FTP)
      • 请求过滤(Request Filtering)
      • 管理员维护模块(Administration Pack modules)
    • 管理功能的增强(Management enhancements)

      • 最佳体验分析器(Best Practices Analyzer)
      • Windows PowerShell支持和扩展命令(Windows PowerShell™ Provider and cmdlets)
      • 可配置的日志记录与跟踪(Configuration logging and tracing)
    • 应用程序宿主增强(Application hosting enhancements)

      • 服务增强(Service hardening)
      • 托管的服务账户?(Managed service accounts)
      • 可在Web核心版本中宿主?(Hostable Web Core)
      • 针对于通用网关接口的失败请求的跟踪(Failed Request Tracing for FastCGI)
    • 对服务器核心版本的.NET功能增强(Enhancements to .NET support on Server Core)

    今后的几乎所有产品进行衔接。例如对微软Exchange的管理,就可以通过Powershell管理Exchange设置好的脚本来完成。如果将

    服务器管理器里显示的信息不总是最新的。因为服务器管理器设计用来远程地与多台服务器同时互动,微软必须以一种让它不会影响性能的方式进行设计。

    注:标红色的我认为翻译的有点问题

    Exchange的典型问题解决方案做成脚本,那服务器就可以通过Powershell来完成众多服务器的远程监控和自动解决问题了。

    服务器管理器并没有不断地查询各台受管理的服务器试图显示实时的配置信息,它的默认查询周期是10分钟。这意味着通过服务器管理器显示的信息可能是几分钟前的。管理员必须调整查询同期,如图2所示,或者习惯于手动地刷新显示。

     

    3、图形的管理中心Server Manager(Windows Server 2008功能异常强大的配置中心)

    新葡亰496net 6 
    图2:服务器管理器中的查询

    二、使用PowerShell管理IIS 7.5

    Windows Server 2008的Administrator的登录口令安全性提高了很多,你必须使用数字 字母 特出字符或者区分大小写的组合进行

    管理员当然会经历该服务器管理器新版本的成长之痛。尽管学习过程最初会影响管理效率,但是新功能将不仅仅会弥补生产中最初的损失。

    PowerShell为IIS7.0、IIS7.5提供了扩展命令,可以像访问文件系统一样访问IIS站点。

    新葡亰496net:学习笔记,0给IT管理员的惊喜。口令的设置。

    Server 8中,微软完全重新设计了服务器管理Server Manager)控制台。 尽管它在Windows Server 8发布之前仍会保持安静,但是关于新控制台...

    1、打开Windows PowerShell Modules:

    除了Powershell可以对Windows Server 2008进行管理外,Server Manager也可以通过图形的界面对Windows Server 2008进行全面

    新葡亰496net 7

    的管理。Server Manager的改进之处在于将Windows Server 2003中的各类管理工具,集中展示在一个管理平台之中,大大方便了

     

    用户对Windows Server 2008的控制。Server Manager还更多的使用了欲知功能来猜测用户的点击意图,以前我们往往会出现想完

    2、输入:Set-Location IIS:,就进入了IIS的"驱动器":

    成一个功能,但不记得去那个界面进行设置的情况。所有Server Manager大量的使用超链接,只要用户按照超链接的提示点击,就

    新葡亰496net 8

    可以找到想要功能的界面了。

    3、输入:Get-ChildItem来查看IIS下的项:

    4、更细致的账户权限划分

    新葡亰496net 9

    Windows Server 2008在账户权限的划分上也做了很大的调整。在使用Windows Server 2003的时候经常会出现账户权限过大的问题

     

    ,如果赋予一个账户几个权限后往往就要将这个账户放到Administrator的组中,这样这个账户就得到了Administrator组的所有权

    4、查看当前的所有站点:

    限了。Windows Server 2008在账户权限的划分上更细致了,可以让管理员准确控制账户的权限和更好的管理。

    新葡亰496net 10

    5、脱胎换骨的IIS7.0

     

    一直以来微软的用户对IIS6.0和IIS5.0都不是很满意,也一直以来期盼微软能发布一个功能更全、性能更强大的IIS服务平台。用

    5、下面我们用PowerShell将一个ASP.NET网站发布到IIS7.5中:

    微软的话来讲,IIS7.0是在IIS6.0的基础上作了翻天覆地的改进,现在的IIS7.0可以算是一个成熟的强大的Web平台了。首先,

    1)建立一个ASP.NET网站:

    IIS7.0的所有功能全部模块化,而IIS6.0的所有功能是1个模块,这在IIS7.0中,某一个模块受损,不会影响其他模块提供的服务

    新葡亰496net 11

    的运行。其次,IIS7.0中内部文件的复制技术采用了X拷贝技术,效率比IIS6.0提升了很多,尤其是在大数据量的拷贝情况下提升

    新葡亰496net 12

    更为明显。Internet Information Services 7.0 简化了 Web 服务器管理。该模块化平台提供了简化的、基于任务的管理界面、

    2)发布到IIS7.5:

    更好的跨站点控制、安全增强以及集成的 Web 服务健康管理。

    输入:New-Item IIS:SitesTestSite –Bindings @{Protocol="http";BindingInformation=":82:localhost"} –PhysicalPath E:IIS7.5SimpleWebSiteWebSiteDemo

    Windows Server 2008 为 Web 发布提供了一个统一平台,该平台集成了 Internet Information Services (IIS) 7.0、ASP.NET、

    新葡亰496net 13

    Windows 通信基础、Windows Workflow Foundation 和 Windows SharePoint Services 3.0。IIS 7.0 是对现有 Windows Web 服

    我们建立了一个端口号为82的网站:TestSite

    务器的主要增强在平台技术集成中,扮演着中心角色。IIS 7.0 通过委派管理、增强的安全性和缩小的攻击面、Web 服务的集成应

    现在来浏览一下刚刚创建的网站:

    用程序和健康管理以及改进的管理工具等关键功能,帮助开发人员和管理员等最大限度地提高对网络/Internet 接口的控制。

    新葡亰496net 14

    6、Windows Server虚拟化(全面的虚拟化技术)。微软的Windows Server 2008中将会集成虚拟化功能。

     

    微软在并购Virtual PC后,虚拟化技术就成为了Windows Server 2008最大的一个看点。微软在Windows Server 2008展示的虚拟化

    新葡亰496net 15

    技术不仅仅是Virtual PC虚拟机这么简单,而是服务器虚拟化、桌面虚拟化、应用程序虚拟化和展现层虚拟化的一个整体。微软专

     

    门开发的Hyper-V(这项技术称作管理技术,是Windows Server 2008发布版的虚拟化技术的基础)技术,加上自家的Windows Server

    可以输入:Remove-Item TestSite来删除站点:

    2008和Virtual PC估计能让虚拟技术运行更迅速。其应用程序虚拟化可以让应用程序通过往上的发布,完全的为远程用户提供服务

    新葡亰496net 16

    。例如,你到临时到网吧处理工作,而网吧的计算机上没有安装Word,这种情况在以前就很难解决了。通过应用程序虚拟化技术,

    PowerShell的功能十分强大,具有很强的灵活性与可扩展性,后面我们会继续深入学习PowerShell在IIS7.5中的管理方法。

    你就可以登录你企业发布的授权程序,远程的使用虚拟化程序完成操作了。虚拟化技术也能够使用虚拟机技术在一台物理服务器上

     

    运行多个操作系统。同一台服务器能够多种版本的不同的操作系统,如Windows和Linux等。

    三、使用AppCmd来管理IIS7.5

    而服务器整合则是其主要的应用场景之一。服务器整合可以极大地提升服务器的利用率(从原本的10~20%提升到60~70%)、可以很

    PowerShell的耀眼光芒使得人们几乎忘记了另一个随同IIS7.0发布的命令行管理工具:AppCmd. AppCmd是用于IIS7.0的管理工具,可以完成GUI所能完成的全部工作,提供了更大的灵活性与快捷性。AppCmd默认存放在:%SystemRoot%System32inetsrv目录下,建议将其添加进PATH环境变量,在PowerShell中输入AppCmd:

    好地节省服务器采购的费用、可以大大节省电费和降温费用(每台服务器每年的电费和降温费用,超过服务器投资的1/3),更重

    新葡亰496net 17

    要的是,服务器整合还可以大大提高服务响应的速度。

     

    问题:一台物理计算机只安装一个关键业务程序。一旦物理硬件损坏,只会影响到该服务器上的关键业务。而采用服务器整合的虚

    下面我们用AppCMD来建立一个网站:

    拟化技术后,物理主机上可能同时运行多台虚机(每台虚机里跑一个关键业务程序),多个虚机之间可以实现安全隔离。这好比把
    所有的鸡蛋放在一个篮子里,一旦物理主机硬件损坏,其上的多台虚机,及其中运行的关键业务都会同时中断。 

    输入:appcmd add site /name:"AppCmdTest" /bindings: /physicalpath:" E:IIS7.5SimpleWebSiteWebSiteDemo"

    解决:Hyper-V则支持高可用性群集功能,不管是有计划的主机维护、还是突发的硬件故障,虚机都可以在另外一台主机上快速重

    新葡亰496net 18

    启,而且服务中断的时间很短,几乎可以忽略不计。

    可以看到:

    7、自修复NTFS文件系统。自从DOS时代开始,如果文件系统中发生文件出差问题就意味着磁盘需要脱机进行修复。而在Windows

    SITE … added

    Server 2008中,在后台运行的服务能够检测到文件系统的错误并在发现文件出差的情况下启动一个修复进程,而期间并不需要关

    APP…added

    闭服务器。

    VDIR…added

    8、并行会话创建。在Windows Server 2008之前的系统中,会话创建是一个串行操作。而在终端服务系统中,串行初始化会话会导

    在浏览器中打开:

    致系统出现瓶颈。而这个在Vista和Windows Server 2008中提供的新会话模型至少能够同时对四个会话进行初始化,而且如果服务

    新葡亰496net 19

    器的处理器多于四个时还能够同时初始化更多的会话。

    AppCmd也是相当快捷与高效的,那么在实际开发中应该选择PowerShell还是AppCmd呢?个人感觉AppCmd很小巧,如果是小型应用,需要批量管理IIS7.x,建议用AppCmd;如果项目比较复杂,同时掺杂着跨平台、跨数据库的企业级应用,则应该使用PowerShell,因为它更加高效,易于扩展,与微软的许多服务器产品进行了整合。

    9、干净的关闭服务。Windows中一个历史性遗留问题是系统关机的过程问题。在XP中,一旦关闭过程开始,系统就会启动一个历时

     

    20秒的计数器。当计数开始后,系统就会向用户发出信号询问是否用户自己中止应用程序。对于Windows Server来说,相同的20秒

    四、使用IIS API来管理IIS7.5

    机制变成了应用程序的存活时间。

    从IIS7开始提供了一组全新的、方便使用的、面向对象的API,该API分为两部分:托管的和本地的。本地API由C 编写,可以用来开发本地模块并插入IIS内核。而托管API则可以借助于.NET Framework的优势来更方便的对IIS7.x进行管理。

    在Windows Server 2008中这个20秒倒数的机制已经被一个新的服务取代,这个服务会控制应用程序不断的发送程序需要关闭的信

    下面我们使用Microsoft.Web.Administration(MWA) API来创建一个Web站点,效果与之前用PowerShell和AppCmd的一样。

    号,只要程序不断保持发送信号那么程序最终会关闭。某些开发人员可能会顾虑这个新服务会让应用程序耗掉太多资源,但从实际

    1、创建一个控制台程序,并添加引用:System.Web、Microsoft.Web.Administration

    情况看来,性能方面的牺牲物有所值。

    注意要将控制台项目的.NET Framework版本设置为4.0,不能用Cilent Profile。

    10、内核业务管理器。开发人员可以好好利用这个功能,它能够极大的减少最容易导致系统注册表和文件系统崩溃的发生次数:这

    新葡亰496net 20

    是由于有多个线程同时访问某个资源引起。

    2、添加如下代码:

    在正式的数据库中,修改过的指令集按顺序先保存在内存中,跟着作为一个业务一次性提交。这种情况下,用户并不能获得数据库

    新葡亰496net 21新葡亰496net 22代码

    被修改过程中的快照,这些修改看起来是同时进行的。而这一功能最终在Vista和Windows Server 2008的系统注册表中被利用。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.Web.Administration;

    11、SMB2网络文件系统。很久很久以前,SMB就被用作Windows的网络文件系统。而现在,SMB在灵活性、高性能方面已经力不从心

    namespace MWADemo
    {
        class Program
        {
            static void Main(string[] args)
            {
                ServerManager sm = new ServerManager();
                sm.Sites.Add("MWASite", "http", ":84:localhost", @"E:IIS7.5SimpleWebSiteWebSiteDemo");
                sm.CommitChanges();
            }
        }
    }

    ,因此SMB2取而代之。根据内部测试结果显示,在媒体服务器上SMB2的性能是Windows Server 2003的30到40倍之多。

     

    12、地址空间随机加载(ASLR)。自从它在Vista露面以来,可能这个功能是所有新增功能中最受争议的功能了。ASLR确保同一时间

    3、F5运行后,在浏览器中测试一下:

    ,在内存中同一区域没有两个相同的操作系统实例被加载。

    新葡亰496net 23

    13、Windows硬件错误架构(WHEA)。微软最终对硬件错误信息进行了标准化,利用这些面向硬件统一使用相同套接字接口报告的错

     

    误信息,第三方的软件能够方便的迁移并管理问题。

    小结:

    14、灵活的安全性。Windows Server 2008提供更强的内置安全功能,主要包含BitLocker、RMS、增强防火墙、RODC(Read Only

    本次 主要介绍了IIS7.5的新特性,因为很多朋友已经介绍过,故只提了些纲要。然后分别用PowerShell、AppCMD、MWA API的方式对IIS7.5的站点进行了简单的管理操作,三者功能都很强大,只是适用场合不同。后续篇章会主要以MWA API和PowerShell来对IIS7.5进行开发与管理,深入学习IIS7.5底层各部件的实现机理。

    Domain Controller)、NAP(Network Access Protection)几个方面。BitLocker这个功能,对整个磁盘做加密,Vista中也有此功能

    。RMS对所有的Office文档做管理控制,即便文档已经发送给他人,已经不在所有者的手里,所有者仍然可以控制该文档如何被他

    人访问。内置的增强防火墙,功能非常强大,管理员可以根据网络不同设置不同的安全策略,如家庭环境与办公环境相比,可能需

    要的安全策略就不同。RODC适用于有分支机构的公司,有些分支机构的物理环境不够安全,通过该功能,可以在这种情况保证安全

    性。

    本文由新葡亰496net发布于服务器网络,转载请注明出处:新葡亰496net:学习笔记,0给IT管理员的惊喜

    关键词: