【发布时间】:2020-03-12 14:51:59
【问题描述】:
我想自动更改 CSV 文件中的循环 PowerShell 内容,有人知道如何实现这个目标吗?
我想运行循环 PowerShell,如下所示,我使用 One@contoso.com 之类的 CSV 文件导出 AD 组成员 UPN。我想用UPN自动更改Userlist,因为组中有1000多个成员,我必须将upn从one@contoso.com更改为'one@contoso.com',很容易错过,有没有聪明的方法可以达到目的,谢谢。
Export-ADGroupmember 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
}
【问题讨论】:
-
你说你需要把UserPrincipleName从
one@contoso.com改成one@contoso.com,但是..区别在哪里?你能给我们举一个更好的例子吗? -
您的
Get-ADGroupmember调用和$UserList集合之间没有任何联系。有吗?在上一个问题中,我的意思是您应该使用类似Get-AdUser的输出自动填充 $Var。也许$UserList = (Get-ADGroupmember -Identity $TargetGroup).SamAccountName。 ///// 我没有 AD 访问权限,因此您需要将其调整为实际有效的东西。 [咧嘴] -
@Theo 我认为有一个“”标记。我认为它会产生一些影响。
-
@Lee_Dailey 是的,你是对的。很抱歉我是 PowerShell 的新手。对了,上次你告诉我如何显示输出,有没有代码可以显示我添加了多少用户?
-
@Arthur - 对于“添加了多少”,您可以在循环中添加一个计数器,或者使用
$UserList.Count,或者比较之前的总数和之后的总数。我不会使用其中的第三个,寿。 [咧嘴]
标签: windows powershell