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

在Windows 10和PowerShell 7.2中创建配置IIS应用池遇问题求助

解决PowerShell 7.2管理IIS应用池的报错问题

问题原因

PowerShell 7(Core)作为跨平台版本,默认未加载Windows专属的WebAdministration模块及IIS驱动器,且对Set-Item处理IIS对象的逻辑与Windows PowerShell不同,导致出现两类报错:

  1. 直接将New-WebAppPool返回的对象管道传给Set-Item时,PS7无法自动识别对象路径,提示缺少Path参数;
  2. 手动指定IIS:\AppPools\myNewAppPool路径时,因未加载IIS驱动器,提示找不到该路径。

解决方案

方案一:一步创建带指定参数的应用池(推荐)

直接在New-WebAppPool命令中传入所需参数,无需后续修改操作:

New-WebAppPool -Name myNewAppPool -AutoStart $true -ManagedRuntimeVersion "No Managed Code"

方案二:加载IIS模块并修改应用池属性(适用于多属性修改场景)

若需创建后调整更多属性,按以下步骤操作:

  1. 以管理员身份启动PowerShell 7;
  2. 加载WebAdministration模块并映射IIS驱动器:
# 通过Windows PowerShell兼容层加载模块
Import-Module WebAdministration -UseWindowsPowerShell

# 检查并创建IIS驱动器(若不存在)
if (-not (Get-PSDrive -Name IIS -ErrorAction SilentlyContinue)) {
    New-PSDrive -Name IIS -PSProvider WebAdministration -Root 'IIS:\'
}
  1. 创建应用池并提交修改:
$currentAppPool = New-WebAppPool -Name myNewAppPool

# 修改属性
$currentAppPool.AutoStart = $true
$currentAppPool.ManagedRuntimeVersion = "No Managed Code"

# 直接提交对象修改(比Set-Item更简洁)
$currentAppPool.CommitChanges()

# 也可使用Set-Item指定路径完成修改
# Set-Item -Path "IIS:\AppPools\myNewAppPool" -Value $currentAppPool

注意事项

  • 必须启用Windows功能中的IIS管理脚本和工具(路径:控制面板 -> 程序 -> 启用或关闭Windows功能 -> Internet Information Services -> Web Management Tools -> IIS Management Scripts and Tools);
  • 所有操作需在管理员权限下执行,否则会因权限不足失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:59:18