如何自动更改csv文件中的循环Powershell内容



我想自动更改CSV文件中的循环PowerShell内容,有人知道如何实现目标吗?

我想按如下方式运行PowerShell循环,我用CSV文件导出AD组成员UPNOne@contoso.com.我想用UPN自动更改Userlist,因为组中有1000多名成员,我必须将UPN从one@contoso.com更改为'one@contoso.com',这很容易出错,如果有聪明的方法可以实现目标,谢谢。

导出ADGroup成员UPN:

Get-ADGroupmember -identity adgroup | % { get-aduser $_.samaccountname | select userprincipalname } | export-csv upn.csv -notypeinformation 

循环PowerShell:

Loop PowerShell:
$UserList = @(
'One@contoso.com'
'Two@contoso.com'
'Three@contoso.com'
'Four@contoso.com'
'Five@contoso.com'
)
foreach ($UL_Item in $UserList)
{
$ARAGU_Params = @{
TenantName = "contoso"
HostPoolName = "contosoHostPool"
AppGroupName = "Desktop Application Group"
UserPrincipalName = $UL_Item
}
Add-RdsAppGroupUser @ARAGU_Params
}

您不能更改$UserList中的内容。更准确地说,这是可能的,但会影响性能,因为您需要读取文件并将其分段。最好的方法是一次下载所有用户。你可以这样做:

$UserList=Get-ADGroupmember -identity adgroup | % { get-aduser $_.samaccountname | select userprincipalname } 
foreach ($UL_Item in $UserList)
{
$ARAGU_Params = @{
TenantName = "contoso"
HostPoolName = "contosoHostPool"
AppGroupName = "Desktop Application Group"
UserPrincipalName = $UL_Item.userprincipalname
}
Add-RdsAppGroupUser @ARAGU_Params
}

最新更新