source

파워셸을 사용하여 IIS 버전 찾기

ittop 2023. 8. 20. 12:39
반응형

파워셸을 사용하여 IIS 버전 찾기

파워셸(또는 WMI) 쿼리를 사용하여 IIS 버전을 찾습니다.

다음은 제가 사용한 쿼리입니다.

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

이 쿼리는 'Windows 8' PC에서 파워셸 콘솔을 사용하여 테스트했습니다.IIS 8'입니다. 하지만 결과는 7입니다. 여기서 예상 버전 번호는 8입니다.

누가 내가 이 문제를 해결하는 것을 도와줄 수 있습니까?

시도할 수 있습니다.

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

비록 실이 조금 낡았지만, 이것이 제가 먼저 착륙한 링크입니다.그래서 내가 뭘 찾았는지 알려주는 거지

다음 명령은 IIS 8.5(윈도우즈 2012 R2) 및 7.5 윈도우즈 7 SP1에서 IIS 버전을 올바르게 찾는 데 도움이 되었습니다.

[시스템.진단.파일 버전정보]:::GetVersionInfo("$env:SystemRoot\system32\inetsrv\InetMgr.exe").제품 버전

참조:

https://forums.iis.net/p/1171695/1984536.aspx : f00_http: f00_http://▁from 의 답변

주문 비교를 위한 십진수 값을 원하는 경우.

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

다음은 from @C.B. to 원격 컴퓨터에서 IIS 버전 가져오기라는 응답을 기반으로 만든 작은 ScriptBlock 함수입니다.

$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
}

순수한 버전의 경우 w3wp 실행 파일의 정보를 확인하는 것을 선호합니다.MSFT의 "사용 방법" 기사에 따르면:

    If(Test-Path $w3wpPath) { 
        $productProperty = Get-ItemProperty -Path $w3wpPath 
        Write-Host $productProperty.VersionInfo.ProductVersion 
    } 
    Else { 
        Write-Host "Not find IIS." 
    } 

언급URL : https://stackoverflow.com/questions/16784587/finding-version-of-iis-using-powershell

반응형