Windows Server を日常的に扱っていると、xxx-WindowsFeature で役割のインストール状態確認や有効/無効が簡単にできるのですが、このコマンドレットは Server OS 専用で Client OS では使うことができません。
dism.exe を使ってコマンドラインで操作は可能ですが、dism は多機能すぎるし、補完も出来ないので手に余ることもしばしば
でも、PowerShell なら Client OS で使える xxx-WindowsOptionalFeature コマンドレットがあります。
操作 | Windows Server | Windows 10 | Dism |
役割の確認 | Get-WindowsFeature | Get-WindowsOptionalFeature -Online | dism /Online /Get-Features |
役割の有効化 | Add-WindowsFeature 役割名 | Enable-WindowsOptionalFeature -Online -FeatureName 役割名 | dism /Online /Enable-Feature:役割名 |
役割の無効化 | Remove-WindowsFeature 役割名 | Disable-WindowsOptionalFeature -Online -FeatureName 役割名 | dism /Online /Disable-Feature:役割名 |
見ての通り、dism /Online の置き換えですが、補完やリダイレクトが効くので dism よりは使い勝手が良くなっています。
例えば、Hyper-V の役割を確認するにはこんな感じで使います
PS C:\> Get-WindowsOptionalFeature -Online | ? FeatureName -Match "Hyper-V" FeatureName : Microsoft-Hyper-V-All State : Disabled FeatureName : Microsoft-Hyper-V-Tools-All State : Disabled FeatureName : Microsoft-Hyper-V State : Disabled FeatureName : Microsoft-Hyper-V-Services State : Disabled FeatureName : Microsoft-Hyper-V-Hypervisor State : Disabled FeatureName : Microsoft-Hyper-V-Management-Clients State : Disabled FeatureName : Microsoft-Hyper-V-Management-PowerShell State : Disabled |
Get-WindowsOptionalFeature で役割名がわかるので、Enable-WindowsOptionalFeature / Disable-WindowsOptionalFeature で有効化/無効化が出来ます。
役割の有効化
PS C:\> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All この操作を完了するために、今すぐコンピューターを再起動しますか? [Y] Yes [N] No [?] ヘルプ (既定値は "Y"): |
役割の無効化
PS C:\> Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All この操作を完了するために、今すぐコンピューターを再起動しますか? [Y] Yes [N] No [?] ヘルプ (既定値は "Y"): |
-Confirm とか -Force オプションが無いので、再起動要求は手動応答が必要になります。
このあたりは
Server OS のコマンドレッドの方が便利ですね。
ちなみに、xxx-WindowsOptionalFeature は Windows 8(と Windows Server 2012) 以降で使用できます。
Copyright © MURA All rights reserved.