Мне нужно программно обнаружить в Windows 7, что инструменты Hyper-V включены. Я использую этот сценарий PowerShell в Windows Server 2008
import-module servermanager
(Get-WindowsFeature Hyper-V).Installed
Я предполагаю, вы имеете в виду инструменты RSAT, в которых есть диспетчер Hyper-V?
Если это так, их нет в Win7, поэтому указанный вами метод не будет работать. Вместо этого RSAT указан как исправление, поэтому самый простой способ проверить с помощью Powershell - это проверить, установлено ли исправление, связанное с RSAT. Идентификатор исправления - KB958830, поэтому вы можете запросить исправления из WMI с помощью команды:
get-wmiobject -query 'select * from win32_quickfixengineering' |where {$_.HotFixID -eq 'KB958830'}
если вы получаете 1 строку назад, исправление (и, следовательно, RSAT и, следовательно, диспетчер Hyper-V) установлено, в противном случае это не так.