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

如何将变量用作IIS应用程序池名称?解决调用报错问题

解决IIS应用池名称传递报错问题

报错内容(翻译为中文)

Get-IISAppPool : 无效的应用程序池名称 'DefaultAppPool
'。
所在位置 行:1 字符:1

  • (Get-IISAppPool $appPoolName).processmodel.username
  • + CategoryInfo          : InvalidArgument: (:) [Get-IISAppPool], ArgumentException
      + FullyQualifiedErrorId : Invalid application pool name,Microsoft.Web.Administration.GetIISAppPoolCommand
    

问题原因

你用Out-String转换应用池对象时,会引入多余的换行、空白字符,导致$appPoolName不是纯净的应用池名称字符串,Get-IISAppPool无法识别这个带格式的名称。

修正方案

直接提取应用池的Name属性值,摒弃Out-String的使用:

方法一:通过-ExpandProperty提取属性值

$appPoolName = Get-IISAppPool | Where-Object {$_.Name -like "*Default*"} | Select-Object -ExpandProperty Name

方法二:直接访问对象属性

$appPoolName = (Get-IISAppPool | Where-Object {$_.Name -like "*Default*"}).Name

获取正确的名称后,执行以下命令即可正常返回结果:

(Get-IISAppPool $appPoolName).processmodel.username

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 02:20:48