接上一篇博客,依旧是需要制作安装包,需要开启系统的MSMQ功能。这里就用到了dism.exe

DISM全称是Deployment Image Servicing and Management(部署映像服务和管理),用于安装、卸载、配置和更新脱机 Windows(R) 映像和脱机 Windows 预安装环境 (Windows PE) 映像中的功能和程序包。

文件路径"C:\Windows\System32\Dism.exe"

注意:Dism运行需要管理员权限 

可使用 Dism.exe /?查看详细命令参数,Dism功能非常强大,这里我只介绍如何开启和关闭Windows功能。

如果需要详细的介绍,可以访问

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-8.1-and-8/hh824821(v=win.10)?redirectedfrom=MSDN

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-8.1-and-8/hh825265%28v%3dwin.10%29

使用下面这个命令,可以查看Windows功能列表

 dism /online  /Get-Features

运行以后,部分截图如下

我这里需要安装 消息队列,对应的功能名称是MSMQ-Container,MSMQ-Server。对应控制面板截图如下

输入以下命令

  Dism /Online /Enable-Feature /FeatureName:MSMQ-Container
  Dism /Online /Enable-Feature /FeatureName:MSMQ-Server

执行如下

安装完成后,就可以在控制面板看到如下结果,代表已经启用了

禁用Windows服务,把/Enable-Feature换成/Disable-Feature就行了。

注意,记得这里加上/NoRestart,否则会等待输入确认是否重启电脑,这样就不能自动化执行下面的命令了。

 Dism /Online /Disable-Feature /FeatureName:MSMQ-Container /NoRestart
Dism /Online /Disable-Feature /FeatureName:MSMQ-Server /NoRestart

卸载完成后, 再设置重启就行了

 shutdown -r -t 0

重启完就可以看到消息队列功能已经关闭了

这样就可以在制作安装包时,自动启用或禁用Windows功能了。

有的时候需要离线安装,可以运行以下 DISM 命令来安装MSMQ-Server:

从D:\sources获取安装文件,然后把映像装载到D:\offline,再开始执行安装。

 DISM /Image:D:\offline /Enable-Feature /FeatureName:MSMQ-Server /All /LimitAccess /Source:D:\sources

使用 /All 启用指定的功能的所有父功能。

使用 /LimitAccess 以防止 DISM 与 Windows Update/WSUS 联系。

使用 /Source 指定离线安装包的目录

一般需要离线安装的,可能就是.Net Framework 3.5了。这个安装包的位置位于Windows安装镜像的"sources\sxs"目录下,名称是"microsoft-windows-netfx3-ondemand-package.cab"

假设Windows安装镜像解压的目录是D:\Windows,则可以使用以下命令安装Net35

DISM /Image:D:\offline /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\Windows\sources\sxs

注意:请先创建D:\offline目录

使用Powershell启用/关闭Windows功能的更多相关文章

  1. Windows10启用或关闭Windows功能一直显示请稍候

    1.运行service.msc打开服务列表,找到Windows Modules Installer服务进行重启.如果重启失败,可以重启电脑后再次启动该服务. 2.此时运行controller打开控制面 ...

  2. win7打开或关闭windows功能 提示“出现错误,并非所有的功能被更改”,管理员权限惹的祸

    2013-07-25 18:12:06 最近要用到windows的telnet功能,本来是很简单的事情,因为管理员权限的问题,花了不少时间,才发现是管理员权限惹的祸,更滑稽的是,自己一直以来都不是管理 ...

  3. cmd命令行模式开启或关闭 windows功能 (转载)

    1,用管理员身份运行cmd. 2,运行 dism /online  /Get-Features >C:\1.txt,这样会在C盘生成一个txt文件,文件内容是功能列表,可以对照“打开或关闭win ...

  4. WPF之模拟打开或关闭Windows功能

    用WPF模拟打开或关闭Windows功能的实现方法其实很简单,主要用递归判断当前节点的子节点和父节点的选中状态就行了. 一.效果演示 先看看效果图: 二.部分代码 xaml代码: <TreeVi ...

  5. win10上如何启用或禁用Windows功能

    Windows10上提供了很多的功能,比如打印服务.传真服务.媒体服务等,怎样启用或禁用某些Windows功能呢? 工具/原料   windows10 方法/步骤     点击左下角的Windows图 ...

  6. 安装sqlserver 的时候 报错:无法通过Windows功能控制面板自动安装或卸载Windows Server 角色和功能。

    无法安装以下功能:.NET Framework 3.5(包括.NET2.0和3.0) 无法通过Windows功能控制面板自动安装或卸载Windows Server 角色和功能. 若要安装Windows ...

  7. 用Powershell启用Windows Azure上的远程桌面服务

    [题外话] 某天不小心点了XX管家的自动修复,虽然及时点了取消也看到了远程桌面服务成功被关闭,但是忙完该干的事以后竟然忘记了这件事,在断开远程桌面服务之前也忘记再次打开.以至于之后几天一直以为Azur ...

  8. 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程

           问题:在服务器(操作系统为Windows server 2012)上安装SQL Server 2012的过程中,安装停留在下图所示的界面上,显示”正在启用操作系统功能NetFx3”随后出 ...

  9. Windows Server 2012启用Windows功能NetFx3时出错解决方法

    作者:冰点阳光 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://baohua.me/operating-system/windows-server-2012- ...

随机推荐

  1. TypeError: BlobBuilder is not a constructor

    var BlobBuilder = window.BlobBuilder || window.MozBlobBuilder || window.WebKitBlobBuilder || window. ...

  2. (转) 中断处理程序&中断服务例程

             关于中断处理程序和中断服务例程ISR的区别及联系,之前一直搞混,今天抽时间将两者关系弄弄清楚.ok,下面进入主题.       首先中断处理程序(Interrupt Handler) ...

  3. webpack4.0构建项目流程

    webpack4.0构建项目流程,具体的就不一一唠叨了,这里给出构建流程步骤: 流程大图: 下载高清大图

  4. 后台接收参数报错 Required String parameter 'id' is not present

    来自:https://blog.csdn.net/qq_15238647/article/details/81539287 关于ajax请求spring后台出现 Required String par ...

  5. Spring Boot集成Mybatis注解相关

    mybatis3开始支持java注解,使用java注解可以替代xml配置文件,简化代码.下面来看一下怎么在spring boot中使用mybatis注解. 1 使用mybatis注解需要的配置.如下面 ...

  6. 【传输协议】thrift的IDL语法

    一.IDL Thrift 采用IDL(Interface Definition Language)来定义通用的服务接口,然后通过Thrift提供的编译器,可以将服务接口编译成不同语言编写的代码,通过这 ...

  7. wordpress 访问其他数据库

    有时候我们需要在 Worpdress 中访问其他服务器上的数据库时,可以使用以下方式,在 functions.php 中添加如下代码: // 输入数据库配置参数$mydb = new wpdb('us ...

  8. promise 和 async await比较

    async搭配await是ES7提出的,它的实现是基于Promise.这里使用它对比Promise的用法,这里只是简单的适合日常业务的使用场景.   async.await是ES7中的提案,通过同步方 ...

  9. elementUI vue this.$confirm 和el-dialog 弹出框 移动

    调试了好久, 还能凑合用, 请直接看DOME 示例,复制就能用: <!DOCTYPE html> <html lang="zh"> <head> ...

  10. exe文件图标不见了,教你win10桌面EXE文件图标不见了如何解决

    1.进入cmd 2.输入以下命令 taskkill /im explorer.exe /f cd /d %userprofile%\appdata\local del iconcache.db /a ...