Как использовать цикл PowerShell для назначения нескольких пользователей для доступа к группе приложений?
Я хочу добавить несколько пользователей в свою группу приложений за раз. Есть ли кто-нибудь, кто знает, как сделать это с помощью пользовательского цикла PowerShell?
Командлет Add-RdsAppGroupUser, показанный ниже, может назначать пользователю доступ к указанной группе приложений. Этот командлет принимает только одно основное имя пользователя (UPN) за раз и применяется только к пользователям (а не к группам).
Add-RdsAppGroupUser -TenantName "contoso" -HostPoolName "contosoHostPool" -AppGroupName "Desktop Application Group" -UserPrincipalName "user1@contoso.com"
Например: у меня 1000 пользователей от user1@contoso.com до user1000@contoso.com, что мне написать код и как я могу проверить результат после его завершения.
1 ответ
Решение
Вот демонстрация идеи. У меня нет доступа к используемому вами командлету, поэтому цикл показывает свой результирующий параметр splat.
#region >>> fake getting a list of users
# in real life, use Get-Content or some other method
$UserList = @(
'One@contoso.com'
'Two@contoso.com'
'Three@contoso.com'
'Four@contoso.com'
'Five@contoso.com'
)
#endregion >>> fake getting a list of users
foreach ($UL_Item in $UserList)
{
# the following structure is called "Splatting"
# it puts some - or all - the parameters into a hashtable
# that can be fed to the cmdlet by replacing the "$" with an "@"
$ARAGU_Params = @{
TenantName = "contoso"
HostPoolName = "contosoHostPool"
AppGroupName = "Desktop Application Group"
UserPrincipalName = $UL_Item
}
#Add-RdsAppGroupUser @ARAGU_Params
# i don't have the above cmdlet, so this is just showing the parameters & values being passed to it
$ARAGU_Params
'=' * 30
}
выход...
Name Value
---- -----
HostPoolName contosoHostPool
UserPrincipalName One@contoso.com
TenantName contoso
AppGroupName Desktop Application Group
==============================
HostPoolName contosoHostPool
UserPrincipalName Two@contoso.com
TenantName contoso
AppGroupName Desktop Application Group
==============================
HostPoolName contosoHostPool
UserPrincipalName Three@contoso.com
TenantName contoso
AppGroupName Desktop Application Group
==============================
HostPoolName contosoHostPool
UserPrincipalName Four@contoso.com
TenantName contoso
AppGroupName Desktop Application Group
==============================
HostPoolName contosoHostPool
UserPrincipalName Five@contoso.com
TenantName contoso
AppGroupName Desktop Application Group
==============================