童樂安
在Windows 10控制面板的“程序和功能”中,包含啟用或關(guān)閉系統(tǒng)內(nèi)置功能組件的模塊,通常這些模塊的開關(guān)可以通過手動操作來控制(圖1)。但是,如果無法直接開啟“程序和功能”時,比如在程序設(shè)計中需要控制這些組件的開關(guān),那就需要用命令行的方式來進行相應的控制了。
以命令提示符窗口啟用或關(guān)閉系統(tǒng)功能,或者獲取有關(guān)功能的信息,需要使用DISM(部署映像服務(wù)和管理)工具來實現(xiàn)。DISM工具對應于Windows中的DISM.EXE程序,位于Windows7/8/10的“C:\Windows\System32”文件夾中。
首先以管理員模式打開命令提示符窗口。這里介紹一種快速進入的方法:點擊開始按鈕并輸入CMD,然后按下Ctrl+Shift+Enter組合鍵,即可進入管理員命令提示符窗口。
進入管理員命令提示符窗口后,首先使用如下命令獲取系統(tǒng)當前可以啟用或已經(jīng)啟用的功能完整列表(圖2):
DISM/online/get-features/format:table|more
在“狀態(tài)”一欄中,顯示“已啟用”為當前有效的功能模塊,而顯示為“已禁用”的功能模塊為當前可以開啟的功能模塊。由于功能比較多,一屏不能完全顯示,按下空格鍵可顯示后續(xù)內(nèi)容(圖2)。
在上述命令中,“/online”參數(shù)表示操作目標為本地系統(tǒng)。“/format:table”可選項表示顯示方式列表形式。末尾的“|more”也是可選項,表示信息分頁顯示。
如果要將列表顯示信息輸出到一個文本文件中,只需在該命令之后添加“>C:\ dism_Features.txt”即可,這樣所有信息都將被保存在dism_Features.txt文件中,該文件名用戶可自定義。
如果需要只顯示已啟用或者已禁用的功能列表,可分別使用如下命令:
DISM/online/get-features/format:table/English|find"Enabled"|more
DISM/online/get-features/format:table/English|find"Disabled"|more
注意,命令中的啟用關(guān)鍵詞Enabled和禁用關(guān)鍵詞Disabled,均需要以半角雙引號引用,且首字母要大寫,否則將不顯示任何內(nèi)容。同時要添加英文格式開關(guān)“/English”,否則也無法顯示任何結(jié)果(圖3)。
在獲得了功能的名稱和狀態(tài)之后,要啟用或關(guān)閉其中的某項Windows功能,只需將下面兩條命令中的“[feature name]”改為要啟動或關(guān)閉的相應功能名稱,然后執(zhí)行命令即可:
DISM/online/Enable-Feature/FeatureName:[featurename]
DISM/online/Disable-Feature/FeatureName:[featurename]
首先右擊開始按鈕,并選擇以管理員身份運行PowerShell。如果要查看系統(tǒng)上已啟用或已禁用的所有功能列表,可執(zhí)行如下命令(圖4):
get-windowsoptionalfeature -online |ft | more
與DISM一樣,online參數(shù)告訴命令在本地系統(tǒng)上工作,而可選的ft參數(shù)表示以列表的形式顯示結(jié)果,若有更多的信息則將列表拆分為分頁顯示。
如果要將列表按篩選的方式以已啟用或已禁用的功能列表分別顯示,只需使用如下兩條命令即可(圖5):
get-windowsoptionalfeature -online |where state -like disabled* | f t | more
get-windowsoptionalfeature -online |where state -like enabled* | f t | more
參數(shù)說明:where語句檢查功能的狀態(tài)并相應地篩選列表。使用like和*通配符的原因是某些功能與單詞不完全匹配。例如,NetFx3的默認狀態(tài)為DisabledWithPayloadRemoved,這意味著該功能被禁用,其文件不在系統(tǒng)上。因此,只有使用“-like disabled”才不會顯示在列表中。
使用PowerShell命令,還可以篩選具有特性關(guān)鍵詞的功能列表。例如,下面的示例將顯示名稱中包括“hyper-v”的功能:
get-windowsoptionalfeature -online |where featurename -like *hyper-v* | f t
以下命令將獲取名稱中包含“media”的所有功能的信息:
get-windowsoptionalfeature -online-featurename *media*
如果要啟用或關(guān)閉某項W i n d ows功能,只需用功能名稱替換如下命令中的“[fe at u r ename]”,然后執(zhí)行該命令即可:
enable-windowsoptionalfeature-online-featureName[featurename]-all
disable-windowsoptionalfeature-online-featureName[featurename]
可選的-all參數(shù)會自動添加指定功能所屬的其他所有子功能。
通過在同一行上使用兩個命令,可以同時啟用或禁用多個功能。例如:
get-windowsoptionalfeature-online-featurename*hyper-v*|enable-windowsoptionalfeature-online-norestart
上面的命令首先篩選名稱中帶有“Hyper-V”的所有功能,然后,這些功能名稱通過管道參數(shù)“|”傳輸?shù)胶竺娴膃nable命令,以便在不重新啟動的情況下逐個啟用這些功能。使用上述復合命令的效果是可以一次性啟用七個Hyper-V功能。