I’m missing something very simple but I can not figure out what exactly I’m doing wrong. I’m trying to get to child object of another object and it fails.
Namely workprocess object of Application pool.
+1 This works.
I don’t understand the problem though. $pool has collection of WorkerProcesses so I shall be able to access WorkerProcesses[0]. Why it does not work?
The workerProcesses property isn’t a collection; it’s an object of type Microsoft.IIs.PowerShell.Framework.ConfigurationElement. I just ran these commands to try to discover what was there:
$pool = Get-Item IIS:\AppPools\MSExchangeSyncAppPool
$pool.workerProcesses.GetType().FullName
Get-Member -InputObject $pool.workerProcesses
# Here's where I saw the NoteProperty called Collection
$pool.workerProcesses.Collection.GetType().FullName
# This came back as PSObject[], so I tried:
$pool.workerProcesses.Collection[0].processId
# and it worked.