服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

如何远程检测窗口已重新启动后完成修补程序configuration

我们计划自动为我们的构build基础设施创build虚拟机,以便我们能够: 根据需求扩展构build资源,例如在需要时添加更多构build代理,并在不需要时删除它们 当机器死亡时,重新创build全部或部分构build环境 当我们需要testing设置时复制构build环境 此过程中的一个步骤是自动创buildVM基本映像(在我们的情况下使用Hyper-V)。 为此,我们有一个脚本: 使用Convert-WindowsImage脚本从ISO创build新的VHDX。 目前我们正在使用Windows 2012R2,但一旦可用,我们将尽快开始使用。 使用我们所需的全部基本configuration将无人参与脚本添加到新的VHDX 使用Apply-WindowsUpdate脚本使用最新的Windows修补程序更新VHDX 基于VHDX创build一个新的Hyper-V VM并启动它 等待VM启动并等待WinRM服务准备好接受远程连接 等待Windows完成初始configuration和新修补程序的configuration 应用所有更多的修补程序 重新启动完成最新补丁的configuration 等待Windows完成configuration补丁 将sysprep脚本推送到机器并调用该脚本。 这将运行sysprep,然后closures机器 删除VM但保留VHDX 从VHDX中删除sysprep和unattend文件,然后压缩VHDX 将VHDX移动到模板位置并标记为只读 我们遇到的问题是在第6步和第9步。理想情况下,我们等待所有的configuration完成之前,我们重新启动/closures机器,但似乎没有一种方法来检测窗口已完成configuration阶段。 当通过用户界面时,任何一个步骤完成时都非常清楚,因为login用户界面在进程准备就绪之前不会显示出来。 但是,当使用WinRM远程连接到计算机时,这是不太清楚的,因为WinRM在完成configuration工作之前提供对计算机的访问。 所以问题是什么是最有远见的方式来检测远程连接的Windows已经完成configuration更新等,以便我们可以重新启动/closures机器,而不会导致问题以后。 ——编辑—– 最后,我们正在使用Katherine的答案的修改版本,因为我们的脚本还等待windeploy和windeploy完成。 鉴于ngen在操作系统完成初始化之后才能完成,作为奖励,最终的VHDX将拥有所有的.NET框架,这意味着当我们创build时,我们不需要处理这个框架新模板磁盘的虚拟机。 我们用来创buildVHDX模板的脚本和创build本地testing环境的脚本都在github上,以防有人感兴趣。

如何configuration“按访问反病毒”更快的启动?

我正在试图优化我们700个Windows XP工作站的启动过程,我们经常抱怨现场工作站的启动和login时间。 在这两部分来看 ,第一部分使用BootVis来监视和检查启动过程; 第二部分使用Process Monitor来监视login过程。 使用BootVis的“引导完成”方式作为衡量标准,我使用了一台已经使用了18个月的VMWare工作站虚拟机作为通用testing机器(因此是相当典型的现场机器)。 我使用快照在每次testing之前将虚拟机返回到初始状态。 从日志和报告,BootVis创build最明显的延迟是来自Sophos Anti-Virus的访问扫描器,然后在一段距离之前由mrxsmb。 我调整了机器的策略(确保我强制Sophos每次更新两次),并提出了以下数字: 扫描所有文件,阅读 :260秒 扫描所有文件,写入 :160秒 扫描可执行文件,读取和打开时 :111秒 扫描可执行文件,开启时间 :99秒 扫描可执行文件,写入 :95秒 按访问扫描禁用 :102秒 以上倾向表明,扫描所有文件,读取是迄今为止最昂贵的操作(可能完全没有必要)。 我不能完全理解为什么禁用读写扫描实际上会减慢引导顺序,然而却小得多。 最后的三个结果几乎是一样的,这意味着我必须使用其他因素来影响我的决定,即select扫描可执行文件,读取或写入。 更新: 我在同一台虚拟机器上做了一些更多的testing(在不同的时间,所以不能直接和上面的结果进行比较: 未安装Sophos :67.4秒(5次testing的平均值) 扫描可执行文件,开启时间 :84.5秒(平均5次testing) 扫描可执行文件,写入时间 :85秒(平均5次testing) 平均值导致“On Read”和“On Write”的值进一步收敛,有趣的是,使用Sophos扫描可执行文件仅比未安装的Sophos增加了21%的性能开销。 那么在configuration按访问扫描来改善启动时间时,我应该做些什么?

为什么IIS 7会忽略某些(但不是全部)MIMEtypes的压缩? 给出错误:DYNAMIC_COMPRESSION_NOT_SUCCESS – 原因12

所以,我有点IIS7 n00b,但我已经使用了大多数旧的IIS系统回到3.我试图打开dynamic压缩,它的工作,主要是。 它不适用于我的ADO.Net数据服务(Astoria)请求,批处理或不。 我发现失败的请求(FREB)跟踪 ,这真的很有帮助。 而我在Reason Code 12, NO_MATCHING_CONTENT_TYPE请求上看到的是Reason Code 12, NO_MATCHING_CONTENT_TYPE 。 好的,所以我没有指定匹配的MIMEtypes,这很容易。 除了这是我在我的web.config(我认为是正确的,但也许不)。 <httpCompression dynamicCompressionDisableCpuUsage="100" dynamicCompressionEnableCpuUsage="100" noCompressionForHttp10="false" noCompressionForProxies="false" noCompressionForRange="false" sendCacheHeaders="true" staticCompressionDisableCpuUsage="100" staticCompressionEnableCpuUsage="100"> <dynamicTypes> <clear/> <add mimeType="*/*" enabled="true" /> </dynamicTypes> <staticTypes> <clear/> <add mimeType="*/*" enabled="true" /> </staticTypes> </httpCompression> <urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="false" /> 现在我认为这意味着它应该压缩任何包含Accept:Gzip头的请求​​。 我很想知道别人可能在这里想什么。 我的提琴手痕迹: GET /SecurityDataService.svc/GetCurrentAccount HTTP/1.1 Accept-Charset: UTF-8 Accept-Language: en-us dataserviceversion: […]