Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Assign a Get-WebAppPoolState returned value to a variable in Powershell

Tags:

powershell

This code:

import-module WebAdministration

Get-WebAppPoolState AppPoolName

Produces the following output:

Value - -
Stopped

But this code:

import-module WebAdministration

$state = Get-WebAppPoolState AppPoolName

WRITE-HOST $state

Produces this output:

Microsoft.IIs.PowerShell.Framework.CodeProperty

When I get the state of the App Pool using Get-WebAppPoolState, I need a boolean value of some sort to assign to the variable so I can use it in a conditional statement.

I cant use the Microsoft.IIs.PowerShell.Framework.CodeProperty line.

How do I correct this?

like image 823
Michael Zachensky Avatar asked Jul 01 '11 15:07

Michael Zachensky


1 Answers

Get-WebAppPoolState is not returning a string but an object of type CodeProperty. You'll want the Value property from that object, i.e.:

$state = (Get-WebAppPoolState AppPoolName).Value;

I presume some display converter is kicking in the first case when it gets written to output which is why Stopped is displayed but not for writing to host so you get the default object representation (which is the type name) instead.

like image 123
MrKWatkins Avatar answered Nov 15 '22 07:11

MrKWatkins