#powershell #azure-active-directory #azure-powershell
Вопрос:
Я пишу функцию в PowerShell для автоматизации active directory. При независимом выполнении команд он работает очень хорошо, но он не работает, когда я создаю функцию.
Function addMember($parent, $child){
$parentObjectID = Get-AzureADGroup -Filter "DisplayName eq '$parent'" -ErrorAction Continue | select -ExpandProperty ObjectId
$childObjectID = Get-AzureADGroup -Filter "DisplayName eq '$child'" -ErrorAction Continue | select -ExpandProperty ObjectId
Add-AzureADGroupMember -ObjectId $parentObjectID -RefObjectId $childObjectID
}
addMember('Main', 'Child')
Get-AzureADGroup : Error occurred while executing GetGroups
Code: Request_UnsupportedQuery
Message: Unsupported or invalid query filter clause specified for property 'displayName' of resource 'Group'.
RequestId: 0ab4dc0e-0492-427c-8c86-df6cb7d4e7b6
DateTimeStamp: Tue, 06 Jul 2021 08:07:17 GMT
HttpStatusCode: BadRequest
HttpStatusDescription: Bad Request
HttpResponseStatus: Completed
At line:3 char:22
... dObjectID = Get-AzureADGroup -Filter "DisplayName eq '$child'" -Error ...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CategoryInfo : NotSpecified: (:) [Get-AzureADGroup], ApiException
FullyQualifiedErrorId : Microsoft.Open.AzureAD16.Client.ApiException,Microsoft.Open.AzureAD16.PowerShell.GetGroup
Add-AzureADGroupMember : Cannot bind argument to parameter 'ObjectId' because it is null.
At line:5 char:38
Add-AzureADGroupMember -ObjectId $parentObjectID -RefObjectId $ch ...
~~~~~~~~~~~~~~~
CategoryInfo : InvalidData: (:) [Add-AzureADGroupMember], ParameterBindingValidationException
FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.Open.AzureAD16.PowerShell.AddGroupMember
Является ли это проблемой переменной?
Комментарии:
1.
eq
должно быть-eq
2. Я попытался использовать-eq, это не сработало. … dObjectID = Get-AzureADGroup -Фильтр «DisplayName -eq ‘$child » — Ошибка … ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CategoryInfo : Не определен: (:) [Get-AzureADGroup], ApiException Полностью квалифицированный идентификатор ошибки : Microsoft.Open. AzureAD16. Клиент. Исключение ApiException,Microsoft.Откройте. AzureAD16. PowerShell. GetGroup Add-AzureADGroupMember : Не удается привязать аргумент к параметру «ObjectId», потому что он равен нулю.
Ответ №1:
Я решил проблему, вызвав функцию с помощью
Добавить элемент ‘Основной’ ‘Дочерний’