lib/specinfra/backend/powershell/support/find_iis_component.ps1 in specinfra-1.24.0 vs lib/specinfra/backend/powershell/support/find_iis_component.ps1 in specinfra-1.25.0

- old
+ new

@@ -1,19 +1,80 @@ function FindIISWebsite { param($name) - Import-Module WebAdministration - - Try { - Get-Item "IIS:\Sites\$name" -Erroraction silentlycontinue - } - Catch [System.IO.FileNotFoundException] { - Get-Item "IIS:\Sites\$name" -Erroraction silentlycontinue - } + + Import-Module WebAdministration + + Try { + Get-Item "IIS:\Sites\$name" -Erroraction silentlycontinue + } + Catch [System.IO.FileNotFoundException] { + Get-Item "IIS:\Sites\$name" -Erroraction silentlycontinue + } } function FindIISAppPool { param($name) - import-module WebAdministration + + Import-Module WebAdministration + Get-Item "IIS:\AppPools\$name" -Erroraction silentlycontinue +} + +function FindSiteBindings +{ + param($name, $protocol, $hostHeader, $port, $ipAddress) + + Import-Module WebAdministration + + Get-WebBinding -Name $name -Protocol $protocol -HostHeader $hostHeader -Port $port -IPAddress $ipAddress +} + +function FindSiteVirtualDir +{ + param($name, $vdir, $path) + + Import-Module WebAdministration + + $webVirtDirPath = [string]::Format('IIS:\Sites\{0}\{1}',$name, $vdir); + if (Test-Path $webVirtDirPath) + { + if ([string]::IsNullOrEmpty($path)) + { + $true + } + else + { + (Get-Item $webVirtDirPath).physicalPath -eq $path + } + } + else + { + $false + } +} + +function FindSiteApplication +{ + param($name, $app, $pool, $physicalPath) + + Import-Module WebAdministration + + $path = "IIS:\Sites\${name}\${app}" + $result = $false + if (Test-Path $path) + { + $result = $true + if ([string]::IsNullOrEmpty($pool) -eq $false) + { + $result = $result -and (Get-Item $path).applicationPool -eq $pool + } + + if ([string]::IsNullOrEmpty($physicalPath) -eq $false) + { + $result = $result -and (Get-Item $path).physicalPath -eq $physicalPath + } + } + + $result } \ No newline at end of file