Сценарий Powershell : Теперь служба

#powershell #servicenow

Вопрос:

Я получил ответ от api сервиса now

 enter code here

$geturl = $ParentURL   "/table/sc_req_item? 
 

sysparm_query=number=» $RITMNumber «amp;sysparm_display_value=allamp;sysparm_fields=number,short_description,requested_for.first_name,requested_for.last_name,requested_for.user_name»

 number                   : @{display_value=RITM2519394; value=RITMXXXX}
short_description        : @{display_value=Login As ABC xyz on 19 Feb. Creating ticket for tracking purposes.; value=Login As ABC xyz on 19 Feb. Creating ticket for tracking purposes.}
requested_for.first_name : @{display_value=abc; value=abc}
requested_for.user_name  : @{display_value=Exxxx; value=Exxxx}
requested_for.last_name  : @{display_value=xyz; value=xyz}
 

Я могу отобразить краткое описание, используя $ShortDescription = $($response.result.short_description.value)

Войдите в систему как ABC xyz 19 февраля. Создание билета для целей отслеживания.

Но когда я пытаюсь получить запрошенные имя и фамилию, я получаю пустое

$RequestFor = $($response.result.requested_for.first_name)

не могли бы вы, пожалуйста, помочь мне разобраться

Комментарии:

1. В PowerShell есть список зарезервированных переменных, символов (точка-одна из них) и т. Д., И если что-либо, что вы используете, содержит их, вы должны их экранировать или правильно процитировать, ввести их в строку. Лишние точки, пробелы и т. Д.-Это просто проблемы, вызванные самим собой, которых следует полностью избегать.

2. Просто процитируйте его: $response.result."requested_for.first_name" . (Если идентификатор также содержит кавычки, их можно экранировать: "escaped `"quote" . И чтобы избежать обратной связи, конечно, используйте другую: "this is a ```"bad idea`"" .