如何在Powershell中按名称列出isapi过滤器

时间:2017-10-03 21:15:40

标签: powershell iis isapi

您好我正在尝试查看当前配置为IIS的isapi过滤器列表。我正在使用

C:\Windows\System32\inetsrv\appcmd.exe list config /section:isapiFilters

这给了我输出:

< system.webServer>   < isapiFilters>     <过滤器名称=“ASP.Net_2.0.50727-64”path =“C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ aspnet_filter.dll”已启用 =“true”enableCache =“true”preCondition =“runtimeVersionv2.0,bitness64”/>          < filter name =“ASP.Net_4.0_32bit”path =“C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_filter.dll”enabled =“tru e“enableCache =”true“preCondition =”runtimeVersionv4.0,bitness32“/>     < filter name =“ASP.Net_4.0_64bit”path =“C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_filter.dll”enabled =“t rue“enableCache =”true“preCondition =”runtimeVersionv4.0,bitness64“/>     < filter name =“shibboleth”path =“C:\ opt \ shibboleth-sp \ lib64 \ shibboleth \ isapi_shib.dll”enabled =“true”/>   < / isapiFilters> < / system.webServer>

我想通过仅显示过滤器名称“shibboleth”来过滤此xml我试图关注此博客但我正在寻找额外的指导https://blogs.iis.net/eokim/understanding-appcmd-exe-list-set-config-configurationpath-section-name-parameter-name-value

2 个答案:

答案 0 :(得分:0)

将查询与findstr命令结合使用,或使用其他PowerShell技巧过滤生成的XML代码段,

appcmd list config /section:isapiFilters | findstr shibboleth

答案 1 :(得分:0)

虽然Lex确实回答了firebolt的主要问题(如何在结果中仅找到某个过滤器),但我要警告那些发现这篇文章的读者,他们可能正在寻找如何“查找所有过滤器的警告”。存在于所有站点中”。

问题和答案中提供的应用程序将仅在IIS中的SERVER级别上找到那些过滤器。它不会在一个或多个SITE级别找到任何定义。

要在应用级别查找内容,您(非常)需要为每个站点重复该命令,例如:

appcmd列表配置“ somesite” -section:“ isapiFilters”

或者使用技术使每个站点在Powershell中或通过管道运行一次。但是,只想保留这种澄清,即默认情况下它仅显示在服务器级别的配置中,而不是站点级别。