将Get-WebAppPoolState返回值分配给Powershell中的变量

Mic*_*sky 6 powershell

这段代码:

导入模块WebAdministration

Get-WebAppPoolState AppPoolName

产生以下输出:

价值 - -
停止

但是这段代码:

导入模块WebAdministration

$ state = Get-WebAppPoolState AppPoolName

WRITE-HOST $州

生成此输出:

Microsoft.IIs.PowerShell.Framework.CodeProperty

当我使用Get-WebAppPoolState获取App Pool的状态时,我需要一些布尔值来分配给变量,以便我可以在条件语句中使用它.

我不能使用Microsoft.IIs.PowerShell.Framework.CodeProperty行.

我该如何纠正?

MrK*_*ins 16

Get-WebAppPoolState不返回字符串,而是返回CodeProperty类型的对象.您将需要该对象的Value属性,即:

$state = (Get-WebAppPoolState AppPoolName).Value;
Run Code Online (Sandbox Code Playgroud)

我相信一些显示转换器在第一种情况下踢时,它被写入这就是为什么停止显示,但不写托管让您得到默认的对象表示(这是该类型的名称),而不是输出.


mjo*_*nor 0

未经测试,但是这样效果更好吗?

$state = $(Get-WebAppPoolState AppPoolName) 
Run Code Online (Sandbox Code Playgroud)