如何使用appcmd从IIS 8.0(及更高版本)中的配置中获取特定值?

时间:2018-01-21 07:34:58

标签: windows iis iis-8 appcmd

我正在使用IIS 8.5,我需要从配置中获取特定属性的getter。

例如,为了设置connectionTimeout属性,我使用以下语法:

appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.limits.connectionTimeout:"00:04:00" /commit:apphost

但是当我试图通过以下命令阅读proprety时:

appcmd.exe list config -section:system.applicationHost/sites /siteDefaults.limits.connectionTimeout

我收到以下错误:

  

错误(消息:属性“siteDefaults.limits.connectionTimeout”   当前命令用法不支持。 )

从我到目前为止所做的事情来看,list config命令似乎只能给我一节级别而不是更远。

有没有其他方法可以使用appcmd获取特定属性?

1 个答案:

答案 0 :(得分:0)

如果Powershell是您可以接受的替代方案,那么您可以使用WebAdministration Powersell模块来获取超时。这是一个简单的脚本:

#import WebAdministration to access IIS configuration
Import-Module WebAdministration

#declare variables containing your filters
$pspath = "MACHINE/WEBROOT/APPHOST"
$filter = "system.applicationHost/sites/siteDefaults/limits"
$name   = "connectionTimeout"

#Read timeout from IIS
$res = Get-WebConfigurationProperty -name $name -filter $filter -pspath $pspath 

#Format & write output
Write-Host "Timeout (in seconds): " $res.Value.TotalSeconds -ForegroundColor Yellow

您可能需要以管理员身份运行它。

这是输出:

enter image description here