Подтвердить что ты не робот

Поиск версии IIS с использованием powershell

Я хочу найти версию IIS с помощью запроса powershell (или WMI).

Ниже приведен запрос, который я использовал.

Get-WmiObject -namespace "root\microsoftiisv2" -query "select MajorIIsVersionNumber from IISWebInfo"

Я протестировал этот запрос с помощью консоли powershell на ПК с Windows 8 с "IIS 8". Но результат равен 7, где ожидаемая версия Number равна 8.

Может кто-нибудь помочь мне решить эту проблему?

4b9b3361

Ответ 1

Вы можете попробовать:

get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\  | select setupstring,versionstring 

Ответ 2

Если вам нужно десятичное значение для сравнения порядка.

$iisInfo = Get-ItemProperty HKLM:\SOFTWARE\Microsoft\InetStp\
$version = [decimal]"$($iisInfo.MajorVersion).$($iisInfo.MinorVersion)"

Ответ 3

Вот небольшая функция ScriptBlock, которую я создал на основе ответа от @C.B. для получения версии IIS с удаленного компьютера.

$pwd = convertto-securestring "yourstrongpasswordhere" -asplaintext -force
$cred=new-object -typename System.Management.Automation.PSCredential -argumentlist "machinenamehere\adminusernamehere",$pwd

$iisversion= Invoke-Command -ComputerName $machineName -ScriptBlock { 

    $(get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\).setupstring

} -Credential $cred

Write-Host iisversion = $iisversion
If($iisversion -like '*IIS 6*'){
    Write-Host This server uses IIS6
}

If($iisversion -like '*IIS 7*'){
    Write-Host This server uses IIS7
}

Ответ 4

Несмотря на то, что поток немного стар, эта ссылка я приземлился в первую очередь. Так что давайте вам знать, что я нашел.

Следующая команда помогла мне правильно найти версию IIS в IIS 8.5 (Windows 2012 R2) и 7.5 Windows 7 SP1.

[System.Diagnostics.FileVersionInfo]:: GetVersionInfo ( "$ ENV: SystemRoot\system32\Inetsrv\InetMgr.exe" ). ProductVersion

Справка:

https://forums.iis.net/p/1171695/1984536.aspx: Ответ от f00_beard