You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

验证获取指定userName的application pool下applications列表的命令是否正确

问题

需要获取所有运行在具有特定userName的应用池下的应用(虚拟目录或物理路径均可)列表。已尝试执行以下命令:

appcmd.exe list apppool /processModel.userName:{USERNAME} /xml | appcmd.exe list app /in

思路是先筛选出配置了特定userName的应用池列表,再通过管道基于该列表获取对应应用。请问此操作是否正确?感觉后续命令里把/in放在app后面似乎有误……

解答

你的思路方向是对的,但原命令写法有问题,/in的用法在这里不适用,原因是:

  • appcmd list apppool /xml输出的是应用池的XML数据,而list app /in无法直接将输入的应用池XML关联到对应的应用,两者数据类型不匹配,所以这条命令得不到你想要的结果。

正确的操作方式:

  1. 先筛选出目标用户名对应的所有应用池名称
appcmd.exe list apppool /processModel.userName:{USERNAME} /text:name
  1. 遍历这些应用池名称,获取每个池下的应用
  • 若使用Windows命令提示符,可一行命令完成遍历:
for /f "tokens=*" %a in ('appcmd.exe list apppool /processModel.userName:{USERNAME} /text:name') do appcmd.exe list app /apppool.name:"%a"
  • 若使用PowerShell,写法更简洁:
$appPools = appcmd.exe list apppool /processModel.userName:{USERNAME} /text:name
foreach ($pool in $appPools) { appcmd.exe list app /apppool.name:$pool }

通过以上方式就能准确获取到所有关联目标应用池的应用列表,包含它们的虚拟目录或物理路径信息。

内容的提问来源于stack exchange,提问作者Ozkan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 05:06:35