Я сталкивался с чем-то с PS, и я не знаю, делаю ли я что-то не так или, может быть, это просто ошибка в PS (и я нигде не могу найти ответ)? Я протестировал это с PS v4, v5.0 и v5.1, используя разные ОС Windows. Во-первых, кажется, что независимо от того, какая ОС и какая версия PS, когда я запускаю следующий фрагмент кода ниже либо непосредственно через окно PS, либо через сценарий PS, я не получаю никаких ошибок, и все выглядит нормально :
$error.clear()
If ($error -ne $null) { $error }
Тем не менее, на определенных типах систем (похоже, проблема на основе ОС), я запускаю следующий код, и иногда я получаю сообщение об ошибке:
$error.clear()
If ($error -ne $null)
{
$error
}
Я могу запустить приведенный выше код, генерирующий ошибки, на серверах Windows 10 и Windows 2016, и все в порядке (об ошибках не сообщается). Если я запускаю точно такой же код в Windows 2008 R2 или Windows 2012 R2, я получаю следующее сообщение об ошибке:
Missing statement block after If ( condition ).
Кажется, не имеет значения, установлен ли у меня PS 4, 5 или 5.1.1 в системах Windows 2008 R2 и Windows 2012 R2, я все еще получаю ошибку. И, кажется, не имеет значения, работаю ли я от имени администратора или нет, результаты те же. И, похоже, не имеет значения, являются ли они присоединенными к домену или системами рабочих групп. Все наши системы исправлены с момента обновления вторника, выпущенного в мае 2017 года.
Является ли требованием PS (в системах Windows 2008 R2 и Windows 2012 R2), что открывающая фигурная скобка оператора PS «IF» должна находиться в той же строке, что и сам оператор IF? Похоже, что это не так для Windows 10 и Windows 2016 server.
Заранее спасибо,
UCG