Проблемы со свойствами PowerShell - PullRequest
0 голосов
/ 28 мая 2018
$History = $ServerRequest.$_.24hr_work

В части 24hr_work появляется пропущенное имя свойства после ошибки оператора ссылки.

Я пробовал $ServerRequest.$_.'24hr_work' и даже пытался указать на него объект.

$24 = '24hr_work'

Когда я набираю его, я получаю ошибки сразу после 24, поэтому я считаю, что число - это проблема, я просто не могу найти другой способ написать это.Это как-то связано со свойством, начинающимся с числа.

1 Ответ

0 голосов
/ 28 мая 2018

Действительно: для ссылки на свойство, имя которого начинается с цифры (0, 1, ... 9), необходимо:

  • либо: используйте в кавычках вокруг буквального имени свойства.

  • или: используйте переменную предоставить имя свойства косвенно .

Для демонстрации:

$obj = [pscustomobject] @{ '1a' = '1a''s value' }

# !! BREAKS, because the property name starts with a digit.
$obj.1a

# OK: Quote the property name
$obj.'1a'
$obj."1a"

# OK: Access the property via  a *variable*
$propName = '1a'
$obj.$propName

Это означает, что доступ к свойству 24hr_work через переменную $24содержащая эту строку должна работать, однако [ update: так как подтверждено, что работает OP ].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...