【问题标题】:Get-IISAppPool Property "Status" is always emptyGet-IISAppPool 属性“状态”始终为空
【发布时间】:2019-11-04 09:02:08
【问题描述】:

当我输入 Get-IISAppPool 时,Status 属性始终为空。

Get-IISAppPool | Select-Object Status

应用程序池正在运行,并且名称正确。

有人知道为什么吗?

我不是应用程序池的创建者,这可能是原因吗?

【问题讨论】:

  • 一般来说,所有与IIS相关的脚本都需要管理员权限(IIS管理器只能在管理员账户下运行)。
  • 编辑:即使我以管理员身份登录,我也必须通过右键单击启动 Powershell -> 以管理员身份运行才能查看状态...
  • 这就是微软所说的 UAC(从 Windows Vista 开始),几十年来每个人都应该知道的东西。

标签: powershell iis webserver application-pool


【解决方案1】:

Status 不是返回对象的属性。这是默认表输出的计算属性。如果你运行这个命令:

Get-IISAppPool | Get-Member

您会看到没有Status 属性。但是,有一个 State 属性,我猜这是默认视图获取其值的地方:

State Property Microsoft.Web.Administration.ObjectState State {get;}

事实上,如果您查看成员信息,除了Name,默认视图中的所有项目都不会显示为属性 - 嗯,它们确实如此,但名称不同。

【讨论】:

  • 您好,非常感谢您的回答!我刚刚尝试了以下方法:Get-IISAppPool apppool_name |选择对象状态但它仍然是空的......知道为什么吗?
  • Status 在默认表格视图中是否有值?如果你这样做会显示什么:Get-IISAppPool ecowebABMSZ | Format-List *?你在 IIS UI 中看到了什么吗?
  • 它只是空的。在 IIS 管理器的 GUI 中,状态为“正在运行”
  • 可能是权限问题,但您说“正在运行”有点奇怪,因为这不是允许的值之一:ObjectState
  • 对不起。它说“开始”我不得不把它从德语翻译成英语。
【解决方案2】:

如果您想使用 powershell 命令了解特定应用程序池的状态。

以管理员身份打开 PowerShell。

运行以下命令:

Get-WebAppPoolState -Name sample1

注意: 检查您在命令中使用的应用程序池的名称是否可用。

问候, 哈尔帕

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-27
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多