Запись ObjectID пользователя в переменную #Powershell - PullRequest
1 голос
/ 07 марта 2019

Я ищу способ автоматически записать идентификатор объекта пользователя в переменную через AzureAD.

Get-AzureAdUser -ObjectId "Contose@contoso.com"

выдаст выходные данные ObjectId, DisplayName, UPN, UserType

Я ищу запись ObjectId пользователя (например, qwert_1232_trwwqe) в переменную, такую ​​как $ UserId, для дальнейшего использования всценарий.

1 Ответ

0 голосов
/ 07 марта 2019

Ли Дейли обеспечивает хороший указатель:

обычный способ - это сохранять значения в $Var и просто обращаться к свойствам при необходимости.Итак, присвойте вызов $Var и получите значение с помощью $Var.ObjectID.

При этом , если вы хотите сохранить идентификатор объекта в одиночку в выделенной переменной просто получите доступ к свойству .ObjectId объекта, возвращаемого Get-AzureAdUser:

$userId = (Get-AzureAdUser -ObjectId 'Contose@contoso.com').ObjectId

В последующем комментарии, который вы упомянулидостижение:

$Var = Get-AzureAdUser -ObjectId "Contose@contoso.com" | Select ObjectId

Однако такое использование командлета Select-Object (со встроенным псевдонимом select) практически бессмысленно, поскольку оно по-прежнему возвращает (новый, custom) объект , который требует от вас доступа к его .ObjectId свойству , чтобы получить значение идентификатора объекта - и для этого вы могли просто назначить объект, возвращаемый Get-AzureAdUser напрямую до $Var, как предлагает Ли.

Это - это можно использовать Select-Object для извлечения одного свойства значение , а именно через
-ExpandProperty <propertyName> параметр
:

$Var = Get-AzureAdUser -ObjectId 'Contose@contoso.com' | Select -ExpandProperty ObjectId

Однако синтаксис (...).ObjectId ( точечная запись ) естьне только более удобный , но также более быстрый - и он даже работает на нескольких объектах (в PSv3 +) , в этом случае возвращается массив значений (функция называется перечисление членов ).

Короче говоря, Select-Object -ExpandProperty требуется, только если вы обрабатываете очень большие коллекции, которые должны обрабатываться одна за другой в конвейере .

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