Ошибка Powershell: отсутствует оператор '=' после ключа в хеш-литерале - PullRequest
0 голосов
/ 30 ноября 2018

Мне нужно было создать скрипт, который проверяет, запущен ли пул приложений IIS для определенного сайта и его дочерних пулов приложений.(У меня есть отдельный скрипт для запуска «остановленных» пулов приложений, так как я просто хочу проверить, остановлены ли они). Мне удалось создать скрипт, однако, когда я изменил его для лучшего форматирования вывода, я продолжаю получать эту ошибку,

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

Я проверил здесь и Microsoft, но я остался более смущенным об ошибке, чем когда впервые увидел ее.Я видел это Missing closing '}' in statement block., поэтому я предположил, что я действительно пропустил один, но я проверил, и я не.Я не уверен, что это проблема с пробелами / отступами, но я недостаточно знаю об этом сообщении об ошибке.Вот мой сценарий ниже.

$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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...