1

Я начинаю с Windows Server 2016 и использую версию только для CLI. Я пытаюсь определить, какие функции установлены на моем компьютере. Я пытался сделать это, просматривая материал с

Get-WindowsFeature

Очевидно, я не люблю читать все вручную, чтобы увидеть, установлено ли оно. Поэтому я хотел бы перечислить только те вещи, которые на самом деле установлены. Я попытался сделать это с помощью следующей команды:

Get-WindowsFeature | Where-Object {$_."install state" -like "Installed"}

Это ничего не возвращает вообще (обратите внимание, что, когда я просматриваю все, есть установленные модули). И когда я пытаюсь запустить коммандос ниже, я на самом деле получаю возвращаемый контент:

Get-WindowsFeature | Where-Object {$_."name" -like "dns"}

Что я делаю неправильно? Это неправильное использование команды, является ли другое имя "состояние установки" чем-то другим?

2 ответа2

0

Отправка вывода команды через Format-Custom всегда помогает вам определить имена свойств, которые вы ищете.

В этом случае:

Get-WindowsFeature | Where-Object {$_.InstallState -like "Installed"}

... решит вашу проблему.

0

Я пытаюсь определить, какие функции установлены на моем компьютере.

Используйте следующую команду PowerShell:

Эта однострочная оболочка PowerShell импортирует модуль ServerManager и показывает роли и функции Windows, которые установлены в данный момент.

Import-module servermanager ; Get-WindowsFeature | where-object {$_.Installed -eq $True} | format-list DisplayName

Чтобы просто вернуть True или False, если установлена определенная роль или функция, вы можете использовать это (в качестве примера используется роль Hyper-V):

Import-module servermanager ; (Get-WindowsFeature -name hyper-v).Installed 

Для получения дополнительной информации см .:http://technet.microsoft.com/en-us/library/cc732757.aspx

Source Show Установленные роли и функции Windows

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .