使用Powershell启用/关闭Windows功能
接上一篇博客,依旧是需要制作安装包,需要开启系统的MSMQ功能。这里就用到了dism.exe
DISM全称是Deployment Image Servicing and Management(部署映像服务和管理),用于安装、卸载、配置和更新脱机 Windows(R) 映像和脱机 Windows 预安装环境 (Windows PE) 映像中的功能和程序包。
文件路径"C:\Windows\System32\Dism.exe"
注意:Dism运行需要管理员权限
可使用 Dism.exe /?查看详细命令参数,Dism功能非常强大,这里我只介绍如何开启和关闭Windows功能。
如果需要详细的介绍,可以访问
使用下面这个命令,可以查看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功能的更多相关文章
- Windows10启用或关闭Windows功能一直显示请稍候
1.运行service.msc打开服务列表,找到Windows Modules Installer服务进行重启.如果重启失败,可以重启电脑后再次启动该服务. 2.此时运行controller打开控制面 ...
- win7打开或关闭windows功能 提示“出现错误,并非所有的功能被更改”,管理员权限惹的祸
2013-07-25 18:12:06 最近要用到windows的telnet功能,本来是很简单的事情,因为管理员权限的问题,花了不少时间,才发现是管理员权限惹的祸,更滑稽的是,自己一直以来都不是管理 ...
- cmd命令行模式开启或关闭 windows功能 (转载)
1,用管理员身份运行cmd. 2,运行 dism /online /Get-Features >C:\1.txt,这样会在C盘生成一个txt文件,文件内容是功能列表,可以对照“打开或关闭win ...
- WPF之模拟打开或关闭Windows功能
用WPF模拟打开或关闭Windows功能的实现方法其实很简单,主要用递归判断当前节点的子节点和父节点的选中状态就行了. 一.效果演示 先看看效果图: 二.部分代码 xaml代码: <TreeVi ...
- win10上如何启用或禁用Windows功能
Windows10上提供了很多的功能,比如打印服务.传真服务.媒体服务等,怎样启用或禁用某些Windows功能呢? 工具/原料 windows10 方法/步骤 点击左下角的Windows图 ...
- 安装sqlserver 的时候 报错:无法通过Windows功能控制面板自动安装或卸载Windows Server 角色和功能。
无法安装以下功能:.NET Framework 3.5(包括.NET2.0和3.0) 无法通过Windows功能控制面板自动安装或卸载Windows Server 角色和功能. 若要安装Windows ...
- 用Powershell启用Windows Azure上的远程桌面服务
[题外话] 某天不小心点了XX管家的自动修复,虽然及时点了取消也看到了远程桌面服务成功被关闭,但是忙完该干的事以后竟然忘记了这件事,在断开远程桌面服务之前也忘记再次打开.以至于之后几天一直以为Azur ...
- 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程
问题:在服务器(操作系统为Windows server 2012)上安装SQL Server 2012的过程中,安装停留在下图所示的界面上,显示”正在启用操作系统功能NetFx3”随后出 ...
- Windows Server 2012启用Windows功能NetFx3时出错解决方法
作者:冰点阳光 | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://baohua.me/operating-system/windows-server-2012- ...
随机推荐
- 刷题记录:[De1CTF 2019]Giftbox && Comment
目录 刷题记录:[De1CTF 2019]Giftbox && Comment 一.知识点 1.sql注入 && totp 2.RCE 3.源码泄露 4.敏感文件读取 ...
- sshfs+overlayfs实现一个共享只读资源被多个主机挂载成可写目录
sshfs+overlayfs实现一个共享只读资源被多个主机挂载成可写目录 1.sshfs -o ssh_command='sshpass -p '"${passwd}"' ssh ...
- 通过 UNSAFE 来实现一个 Atomic 的 CAS 辅助类【原创】
public abstract class AbstractUnSafeCas<T> { @SuppressWarnings("unused") private vol ...
- SQLite R*Tree 模块测试
目录 SQLite R*Tree 模块测试 1.SQLite R*Tree 模块特性简介 2.SQLite R*Tree 模块简单测试代码 SQLite R*Tree 模块测试 相关参考: MySQL ...
- Android ImageView属性
ImageView 继承自View组件,主要功能是用于显示图片,实际上它不仅仅可以用来显示图片,任何Drawable对象都可以使用ImageView来显示.ImageView可以适用于任何布局中,并且 ...
- SNF快速开发平台2019-权限管理模型-平台服务(多平台\多组织\SAAS\多系统)
1.1 不同组织机构 通俗的讲,就是一个集团公司,划分几个区域,每个区域都有什么分公司,每个分公司都有哪些部门一样,哪些部门又有那些子部门等. 当然也可以是外贸公司的全球性客户.合作伙伴的分布情 ...
- TrueType字体
TrueType字形描述技术和TTF文件 TrueType字体技术的研究分析与应用 看起来上面两篇都是翻译的文档. 看微软的原文介绍: TrueType fundamentals 其他文章: 获取Tr ...
- SpringCloud基础
SpringCloud极大的简化了分布式系统的开发,实现了微服务的快速部署和灵活应用 SpringCloud主要框架 * 服务发现--Netfix Eureka * 服务调用--Netfix Feig ...
- 123456123456----updateV#%#6%#%---pinLv###1%%%----com.zzj.CarCleanGame567---前show后广--儿童洗车-222222
com.zzj.CarCleanGame567---前拼show后广--儿童洗车-
- syncronizationcontext
FormDesign.cs 增加变量定义 public string testName { get; set; } TaskWrapper.cs string tmpTest = &qu ...