0

I needed to create a script that checks to see if an IIS App Pool for a specific site and its child App Pools are started. (I have a separate script to start "stopped" App Pools as I just want to check if they are stopped) I was able to create the script however when I modified it to format the output better I keep getting this error,

At E:\iis\scripts\svc_pl_fm_app_pool_status.ps1:12 char:6
+         App Pool = $item.Name;
+            ~
Missing '=' operator after key in hash literal.
At E:\iis\scripts\svc_pl_fm_app_pool_status.ps1:7 char:29
+ foreach ($item in $results) {
+                             ~
Missing closing '}' in statement block.
    + CategoryInfo          : ParserError: (:) [], ParseException
    + FullyQualifiedErrorId : MissingEqualsInHashLiteral

I checked here and Microsoft but I left more confused about the error then when I first saw it. I saw this Missing closing '}' in statement block. so i assumed I was in fact missing one but I checked and I am not. I am not sure if it is a spacing/ indentation issue but I do not know enough about this error message. Here is my script below.

$results = $item = $appPool = $status = $NULL
$status = "1"
import-module WebAdministration
$AppPoolList = @()
$results = Get-ChildItem IIS:\AppPools\* | Where-Object { ($_.Name -like "someAppPool*" -and $_.Name -like "someChildAppPool*" )}

foreach ($item in $results) {
    if ($item.State -ne "Started") {$status = "0"}

    $AppPoolList += [PSCustomObject]@{
        App Pool = $item.Name;
        Status = $item.State;
    }
}

$AppPoolList | Format-List
Jonathan Hall
  • 75,165
  • 16
  • 143
  • 189
sec_eng1
  • 3
  • 2

0 Answers0