Powershell(またはWMI)クエリを使用してIISのバージョンを見つけたいと思います。
以下は、私が使用したクエリです。
Get-WmiObject -namespace "root\microsoftiisv2" -query "select MajorIIsVersionNumber from IISWebInfo"
「IIS 8」を搭載した「Windows 8」PCでPowershellコンソールを使用してこのクエリをテストしました。しかし、結果は7で、予想されるバージョン番号は8です。
誰かがこの問題の解決を手伝ってくれる?.
あなたが試すことができます:
get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\ | select setupstring,versionstring
スレッドは少し古いですが、これが最初に到達したリンクです。だから私が見つけたものをあなたに知らせる。
以下のコマンドは、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からの回答
順序比較に小数値が必要な場合。
$iisInfo = Get-ItemProperty HKLM:\SOFTWARE\Microsoft\InetStp\
$version = [decimal]"$($iisInfo.MajorVersion).$($iisInfo.MinorVersion)"
@ C.Bからの回答に基づいて私が作成した小さなScriptBlock関数を次に示します。 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
}